you can have the listbox on the same form - actually easier
and you need a sub to build your criteria - not quite clear from your description, but assuming you have multiple combos then something like
Code:
sub filterList()
dim s as string
dim Source as string
Source="SELECT * FROM myTable"
s=""
if not isnull(cboRSO) then s=s & "[RSO]=" & cboRSO & " AND "
if not isnull(cboPO) then s=s & "[PO]=" & cboPO & " AND "
if not isnull(cboCompanyName) then s=s & "[CompanyName]='" & cboCompanyName & "' AND "
...
...
if s<>"" then s="WHERE " & left(s,len(s)-6)
myListbox.Rowsource=Source & s
end sub
it may be your combos are not null but have a zero length string in which case change
if not isnull(cboRSO)
to
if nz(cboRSO,"")<>""
call this sub as required - might be on a button event or the after update event of each combo