Filter by Multiple Multi-Select List Boxes

Sean Chamberlin

New Member
Joined
Dec 6, 2005
Messages
9
I have a form that has several list boxes with multi-select enabled & several text boxes. The idea is to use a combination of entries across these list boxes & text boxes to filter a form. I then have 2 command buttons: 1 that clears all search criteria. The other executes the filter.

The code behind the button that clears the search criteria works perfectly. It is as follows:
Private Sub cmd_ClearSearch_Click()
Me.SearchServiceID = ""
Me.SearchServiceName = ""
Me![SearchProduct] = ""
Me![SearchServiceBillStatus] = ""
Me.Filter = ""
Me.FilterOn = False
Me.Requery
End Sub

The code behind the button that executes the filter is where I have the problem. I can't figure out how to get it to apply a filter based on selections in ALL the list boxes & text boxes. Here is the code:

Private Sub cmd_Search_Click()

Dim Criteria As String
Dim i As Variant

Criteria = ""
For Each i In Me![SearchProduct].ItemsSelected
If Criteria <> "" Then
Criteria = Criteria & " OR "
End If
Criteria = Criteria & "[Product Name]='" _
& Me![SearchProduct].ItemData(i) & "'"
Next i

Dim hasOne As Boolean

hasOne = False

If (Not (Me.SearchServiceID = "" Or IsNull(Me.SearchServiceID))) Then
If (hasOne) Then
Criteria = Criteria & " And " & "[Service ID] Like '*" & Me.SearchServiceID & "*'"
Else
Criteria = "[Service ID] Like '*" & Me.SearchServiceID & "*'"
hasOne = True
End If
End If

If (Not (Me.SearchServiceName = "" Or IsNull(Me.SearchServiceName))) Then
If (hasOne) Then
Criteria = Criteria & " And " & "[Service Name] Like '*" & Me.SearchServiceName & "*'"
Else
Criteria = "[Service Name] Like '*" & Me.SearchServiceName & "*'"
hasOne = True

End If
End If

Me.Filter = Criteria
Me.FilterOn = True
Me.Requery

I'd appreciate any advice or help. P.S. my searching across this site found examples of how to filter by a single multi-select list box, but not multiple. thanks.
 

Excel Facts

What is =ROMAN(40) in Excel?
The Roman numeral for 40 is XL. Bill "MrExcel" Jelen's 40th book was called MrExcel XL.

Forum statistics

Threads
1,215,004
Messages
6,122,656
Members
449,091
Latest member
peppernaut

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top