Attached is a demo DB in Access 2000 that uses two list boxes. Hope you can open it in Access 2002.
It still used DAO, so if you write your own code, you must make a reference to Microsoft DAO 3.6 Object Library.
The list boxes lstLocation and lstItemClass are populated by text fields "Location" and "Item Class" from table tblLocationItemClass.
The code is contained in the On Click Event of the Retrieve button on the form. When the button is clicked, a query qryDataType is created and run.
I copy the code below in case you can't open the DB in Access 2002.
-------------------------------------
Private Sub cmdRetrieve_Click()
' if nothing is selected, display message and exit.
If Me.lstLocation.ItemsSelected.Count = 0 And _
Me.lstItemClass.ItemsSelected.Count = 0 Then
MsgBox "Select location/item class first"
Exit Sub
End If
Dim db As DAO.Database
Dim qDef As DAO.QueryDef
Dim SQL As String
Dim sLocation As String
Dim sItemClass As String
Dim sCriteria As String
Dim varItem As Variant
' build criteria string for selected locations.
For Each varItem In Me.lstLocation.ItemsSelected
sLocation = sLocation & ",'" & Me.lstLocation.ItemData(varItem) & "'"
Next varItem
sLocation = Mid(sLocation, 2) ' remove leading comma.
sLocation = " Location in (" & sLocation & ")"
' build criteria string for selected item classes.
For Each varItem In Me.lstItemClass.ItemsSelected
sItemClass = sItemClass & ",'" & Me.lstItemClass.ItemData(varItem) & "'"
Next varItem
sItemClass = Mid(sItemClass, 2) ' remove leading comma.
sItemClass = " [Item Class] in (" & sItemClass & ")"
' build SQL Statement.
If Me.lstLocation.ItemsSelected.Count > 0 And _
Me.lstItemClass.ItemsSelected.Count > 0 Then
sCriteria = sLocation & " AND " & sItemClass
Else
sCriteria = IIf(Me.lstLocation.ItemsSelected.Count > 0, sLocation, sItemClass)
End If
SQL = " SELECT * " & _
" FROM tblLocationItemClass " & _
" WHERE " & sCriteria
Set db = CurrentDb
' delete query qryDataType if exists.
On Error Resume Next
db.QueryDefs.Delete "qryDataType"
On Error GoTo 0
' create and run query qryDataType.
Set qDef = db.CreateQueryDef("qryDataType", SQL)
DoCmd.OpenQuery "qryDataType"
End Sub
------------------------------------
Hope it helps.