ListBox de seleção múltipla passa retornam nulo como valor padrão. Mas através da propriedade ItemSelect, podemos capturar os valores selecionados.
A função abaixo pode ser usada para filtragem baseada no resultado dos itens marcados na Listbox.
'Adaptada de exemplo fornecido por Elcio Pauli
Function SelecMult()
Dim ctl As Control, frm As Form, lngContador As Long
Dim strWhere As String
Set frm = Forms!NomeForm
Set ctl = frm!NomeListBox
strWhere = ""
For lngContador = 0 To ctl.ListCount - 1
If ctl.Selected(lngContador) Then
strWhere = strWhere & "," & ctl.Column(0, lngContador)
End If
Next
strWhere = Mid(strWhere, 2)
If ctl.ItemsSelected.Count = 0 Then
...
ElseIf ctl.ItemsSelected.Count > 0 Then
...
End If
End Function
Cumprimentos.
A função abaixo pode ser usada para filtragem baseada no resultado dos itens marcados na Listbox.
'Adaptada de exemplo fornecido por Elcio Pauli
Function SelecMult()
Dim ctl As Control, frm As Form, lngContador As Long
Dim strWhere As String
Set frm = Forms!NomeForm
Set ctl = frm!NomeListBox
strWhere = ""
For lngContador = 0 To ctl.ListCount - 1
If ctl.Selected(lngContador) Then
strWhere = strWhere & "," & ctl.Column(0, lngContador)
End If
Next
strWhere = Mid(strWhere, 2)
If ctl.ItemsSelected.Count = 0 Then
...
ElseIf ctl.ItemsSelected.Count > 0 Then
...
End If
End Function
Cumprimentos.