Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Suche FindNext mit Platzhaltern - bisherige Versuche ohne erfolg

Begonnen von Dinovo, März 02, 2022, 21:02:55

⏪ vorheriges - nächstes ⏩

Dinovo

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 & "'"

MzKlMu

Hallo,
für Suchmuster musst Du Like (wie) verwenden und mit dem Joker verketten.
Me.Recordset.FindNext "Nachname Like '*" & Me.TxtSuch & "*'"   
Gruß Klaus

Dinovo

#2
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 & "*'"



MzKlMu

Hallo,
versuche es so:
Me.Recordset.FindFirst "Nachname LIKE '*" & Me!TxtSuch & "*'" & " OR Vorname LIKE '*" & Me!TxtSuch & "*'"
Gruß Klaus