Hallo zusammen,
ich habe die letzten beiden Tage eine Aufgabe in Access realisieren können und freue mich auch sehr einiges gelernt zu haben.
Nun stehe ich aber nach einigen Stunden auf dem Schlauch bzgl. einer Anforderung.
In einem Endlosformular habe ich im Kopf eine Suche (Feld TxtSuch) eingebaut, die beim Click auf einen Button auslöst und die Datensätze nach dem Nachnamen in der Spalte "Nachname" durchsucht. Funktioniert auch alles Prima, auch habe ich eine Lösung hin bekommen das wenn bei FindNext wieder oben angefangen wird zu suchen.
Nun aber die "Herausforderung" es klappt nur wenn man den Namen exakt eingibt. Ich möchte aber auch gerne suchen können wie *mann* und alle Hofmann, Hoffmann, Altmann, Mannhold angezeigt bekommen.
Ich habe es mit *, mit LIKE usw. versucht und nix funktioniert. :-(
Hier der code den ich momentan verwende:
Private Sub ButtonSuche_Click()
Me.Recordset.FindNext "Nachname = '" & Me!TxtSuch & " '"
If Recordset.NoMatch = True Then Me.Recordset.FindFirst "Nachname = '" & Me!TxtSuch & "'"
Hallo,
für Suchmuster musst Du Like (wie) verwenden und mit dem Joker verketten.
Me.Recordset.FindNext "Nachname Like '*" & Me.TxtSuch & "*'"
Zitat von: MzKlMu am März 02, 2022, 23:37:52Hallo,
für Suchmuster musst Du Like (wie) verwenden und mit dem Joker verketten.
Me.Recordset.FindNext "Nachname Like '*" & Me.TxtSuch & "*'"
Prima, danke! jetzt ist mir auch ein wenig klarer geworden was da passiert, ich hab nie das = zeichen in frage gestellt.
Funktioniert.
Hätte dazu aber gleich die nächste Frage:
Wie kann ich in Nachname ODER Vorname suchen lassen?
Manchmal gibts schwierigere Nachnamen, da ist die Suche nach dem Vornamen halt einfacher.
Habe es mit OR versucht, aber leider ohne Erfolg.
Private Sub ButtonSuche_Click()
Me.Recordset.FindNext "Nachname LIKE '*" & Me!TxtSuch & "*'"
If Recordset.NoMatch = True Then Me.Recordset.FindFirst "Nachname OR Vorname LIKE '*" & Me!TxtSuch & "*'"
End Sub
EDIT!!!!
Hab es nun doch hinbekommen: :D
Me.Recordset.FindNext "Nachname LIKE '*" & Me!TxtSuch & "*' OR Vorname Like '*" & Me!TxtSuch & "*'"
If Recordset.NoMatch = True Then Me.Recordset.FindFirst "Nachname LIKE '*" & Me!TxtSuch & "*'"
Hallo,
versuche es so:
Me.Recordset.FindFirst "Nachname LIKE '*" & Me!TxtSuch & "*'" & " OR Vorname LIKE '*" & Me!TxtSuch & "*'"