Hallo,
ich möchte in einem Unterformular mit einem Listenfeld mit Mehrfachauswahl die Datensätze des Unterformulars filtern.
Das Unterformular ist selbst auch schon im Hauptformular gefiltert.
Den Befehl stoße ich über einen Button an. (Eigentlich möchte ich es lieber über das Listenfeld selbst beim Clicken machen...)
Der nachfolgende Code bewirkt: nichts...
Vielen Dank für jede Unterstützung :)
Private Sub cmdFilterProtokollTyp_Click()
Dim Element As Variant
For Each Element In Me.lstFilterProtokollTyp.ItemsSelected
Me.Filter = Me.Filter & Element
Next
End Sub
Me.Filter = "irgendetwas"
' entspricht
Me.Filter = TrueWas soll da passieren? Abgesehen davon, dass man einen Filter auch anwenden muss a la Me.FilterOn = True.
Damit etwas passiert im Sinne von Filtern, müsste das Ergebnis des Tuns etwa so etwas hervorbringen:
Me.Filter = "FeldX IN (2, 4, 99)" ' bei Ganzzahlen
Me.Filter = "FeldY IN ('Eva', 'Susi')" ' bei Strings
Me.FilterOn = TrueIn Deiner Schleife wäre also insbesondere der Ausdruck in der Klammer zu erzeugen.
Weiterführende Infos:
Grundlagen - SQL ist leicht (15) - Mehrfachauswahl zum Filtern umsetzen (https://www.ms-office-forum.net/forum/showthread.php?t=373473)