Hallo zusammen
Ich möchte gerne eine Suchfunktion in einem Formular erstellen.
Die Anforderungnen der Suchfunktion sind:
- Suchen in allen Felder (Benutzer gibt Suchbegriff ein und es werden alle Felder dursucht)
- Weitersuchen (Ein Button mit welchem weitergesucht werden kann und wenn nichts gefunden wurde sollte eine Meldung erscheinen.)
- Suchen mit Platzhalter ist möglich (z.B. * oder %)
Wie kann ich das bewerkstelligen? Habe wirklich 0. Ahnung :(
Es soll eigentlich ähnlich wie die bereits eingebaute Suchfunktion "Suchen und Ersetzen" sein. Diese kann ich nicht verwenden, da man diverse Sachen nicht voreinstellen kann wie z.B. Suchen in oder Vergleichen usw. oder doch?
Vielen Dank für deine Hilfe! ;)
Accesser11
Auf den Button legst du eine OnClick-Eigenschaft mit VBA-Code
im Code bastelst du eine String-Variable zusammen ungefähr so:
Dim sQuery as String
Dim sWhereStatement as String
sQuery="SELECT * FROM durchsuchte_tabelle WHERE "
sWhereStatement= "Feld1 LIKE '*" & eingegebener_suchbegriff & "*' OR Feld2 LIKE '*" & eingegebener_suchbegriff & "*'"
Diese Query setzt du beim Ergebnisformular als Recordsource ein:
Forms!Ergebnisformular.Recordsource=sQuery
Ein leeres Ergebnis fängst du dann wie folgt ab:
if DCOUNT("primary_index_key","durchsuchte_tabelle",sWhereStatement)<1 then MsgBox("Kein Ergebnis")
Hallo imp666
Vielen Dank für deine Antwort. ;)
Gibt es eine Möglichkeit das Gefundene zu markieren?
Die Datensatznavigation trotzdem funktioniert? Die RecordSource ist dann ja nur der gefundene Datensatz.
Danke und Gruss
Accesser11
Selektion setzen kann man ähnlich wie im Beispiel... (siehe Anhang).
Eine Selektion kann man allerdings immer nur auf ein Feld setzen wenn es den Fokus hat, also geht das nur auf einem Feld!
[Anhang gelöscht durch Administrator]