Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Einfache Suchfunktion

Begonnen von BotschafterSarek, Januar 27, 2015, 19:48:42

⏪ vorheriges - nächstes ⏩

BotschafterSarek

Hallo Zusammen,

ich möchte in einem Formular einen Such-Button haben, der einen Suchbegriff abfragt und diesen dann in allen Feldern des Formulars und in allen Datensätzen (auch als Teil des Feldinhaltes) sucht.

1. Versuch

Der normal vom Assistenten erzeugte Suchbutton. Hinter diesem Button ist folgender Code hinterlegt:

Screen.PreviousControl.SetFocus
DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70


Das erzeugt den Suchen-Dialog, den ich auch mit STRG+F bekomme. Leider ist die Standardeinstellung "Suche im aktuellen Feld" und "Vergleichen in ganzem Feld".


2. Versuch

Ich nehme die erste Zeile weg, übrig bleibt:

DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70


Das erzeugt den Suchen-Dialog zwar mit der Einstellung "Suche im allen Feldern", aber immer noch mit "Vergleichen in ganzem Feld" und nicht mit einem Teil des Feldinhalts.


3. Versuch

Im Internet habe ich folgende Lösung gefunden:

DoCmd.FindRecord InputBox("Suchtext"), acEntire, , acSearchAll, , acAll


Da bekomme ich dann einen Laufzeitfehler 2162:  Ein Makro, das einer der Eigenschaften des aktuellen Feldes zugeordnet ist, konnte wegen eines Fehlers in einem Argument der SuchenDatensatz-Aktion (FindRecord) nicht ausgeführt werden.


Hat jemand eine Idee, wie es geht? Am liebsten wäre mir die Lösung 2 mit der eingebauten Suchfunktion, bei der aber als Standardeinstellung "Teil des Feldinhalts" verwendet werden muss.


Danke im Voraus,
Sarek \\//_

MaggieMay

Hallo,

meine Empfehlung wäre - insbesondere angesichts der unterschiedlichen Verhaltensweisen der Access-internen Funktionen - die Suche selbst zu programmieren und die Datensätze mit den der Eingabe entsprechenden Kriterien zu filtern.
Freundliche Grüße
MaggieMay

Nadeshiko

Also wenn es schnell und einfach sein soll:

Beim Laden des ersten Formulars:



Private Sub Form_Load()

Application.SetOption "Default find/replace behavior", 1

End Sub


Dann einen Suchbutton mit Access-Ass. erstellen.
Wenn du drauf drückst, wird automatisch "Teil der Feldinhaltes" angezeigt...dadurch kannst du jeden Teil-String in allen Feldern der Tabelle suchen.

Viele Grüße

derilzemer

Hi,
ich bin vor Wochen vor einer ähnlichen Frage gestanden. Auf der Suche danach hat mir folgende Lösung am meisten zugesagt.
https://www.youtube.com/watch?v=xq6pzJZqfRo
Ist zwar kein Button, aber über ein Formular finde ich das ganze sehr smooth und sie ist individuell erweiterbar. Vielleicht hilft dir das weiter.

Gruß Andreas
Grüße und Dank im voraus
Andreas