Diesen Betrag erstelle ich, da ich die gleiche Frage hatte und möchte, dass diese in der Zukunft einfach vom Tisch ist. Die Lösung erhielt ich durch den Youtuber ,,Readdy_Net".
@ Readdy_Net: Weiter so, so brauch ich meine Infos.
https://www.youtube.com/watch?v=sSjFCaLbT2o
Option Compare Database
Option Explicit
'Verwenden Sie Option Explicit, um zu verhindern,
'dass der Name einer bestehenden Variable falsch eingegeben wird,
'oder um Zweideutigkeit in dem Code zu vermeiden,
'in dem der Bereich der Variable nicht eindeutig ist.
'VORRAUSSETZUNG
'Kombinationsfeld (oder Liste) wurde erstell und ausgewählt.
'Über Eigenschaftsblatt, Reiter "Andere" auswählen"
'Dann bei "Name", denn Namen so anpassen, dass er eindeutig ist.
'Es gelten die normalen Namensregeln, als Beispiel "PullDown01"
'In diesen Beispiel bezieht sich das Kombinationsfeld
'auf eine Tabelle mit dem Namen "tblKartei"
'mit den Bereichen "Vorname", "Nachname", "Strasse" und "Ort"
'ERSTER SCHRITT
'Freies Textfeld erstellen und auswählen
'Über Eigenschaftsblatt, Reiter "Andere" auswählen"
'Dann bei "Name", denn Namen so anpassen, dass er eindeutig ist.
'Es gelten die normalen Namensregeln, als Beispiel "Filter01"
'Dann Reiter "Ereignis" auswählen
'EREIGNIS --> Bei Änderung... --> [Ereignisprozedur]
'Dann [...] drücken.
'ZWEITER SCHRITT
'Erstelle ungebundene Schaltflächen und wähle sie nach einander aus.
'Gebe jeder Schaltfläche den Befehl, einen bestimmten Wert (oder Namen)
'in das Textfeld zu schreiben.
'Zum Beispiel:
'Filter_01 = Bremen
'Dabei sollte klar sein, dass man solche Filter nur verwenden sollte,
'wenn genug Einträge mit der Stadt Bremen vorhanden sind.
Private Sub Filter01_Change()
fl_Aktualisieren_01 (Filter01.Text)
End Sub
'fl_ = Lokale Funktion - Etwas, was im Hintergrund läuft.
Private Sub fl_Aktualisieren_01 (sFilter As String)
Dim sSQL As String
'Als Beispiel die Felder: Vorname, Nachname, Strasse & Ort
'Hier drunter hinter PASTE: kann man für die Übersicht die Datensatzherkunft des Kombinationsfeldes reinkopieren
'PASTE:
sSQL = "SELECT Vorname, Nachname, Strasse, Ort "
'aus der Tabelle "tblKartei"
sSQL = sSQL & " FROM tblKartei"
If Not sFilter = "" Then
Dim arrFilter
arrFilter = Split(sFilter, " ")
Dim varWort
For Each varWort In arrFilter
If Not varWort = "" Then
Dim sWort As String
sWort = varWort
'In diesen Beispiel, bezieht sich der Filter
'auf die beiden Bereiche "Strasse" und "Ort".
sSQL = sSQL & " AND [Strasse] & ' ' & [Ort] LIKE '*" & sWort & "*'"
End If
Next
sSQL = Replace(sSQL, " AND ", " WHERE ", 1, 1, vbTextCompare)
End If
'Sie oben unter Voraussetzungen wegen dem Namen "PullDown01"
PullDown01.RowSource = sSQL
'RowSource steht für die Zeilenquelle
End Sub