Schnellsuche im Listenfeld

Listenfelder eignen sich prima zur Anzeige von Daten in Listenform – vor allem, wenn der Benutzer diese Daten nicht an Ort und Stelle ändern soll. Im Gegensatz zur Datenblattansicht lässt es aber auch eigene Filter- oder Sortiermöglichkeiten vermissen. Dieser Artikel zeigt, wie Sie zumindest eine komfortable Suche nach bestimmten Einträgen realisieren.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1205_Schnellsuche.mdb.

Schnellsuche

Warum heißt die in diesem Artikel vorgestellte Suchfunktion eigentlich Schnellsuche Nun: Im Gegensatz zu einer Suche, bei der Sie den Suchbegriff in ein Suchfeld eingeben und die Suche dann etwa durch Betätigen der Eingabetaste oder per Klick auf eine entsprechende Schaltfläche anstoßen, soll die Suche hier nach Eingabe jedes einzelnen Zeichens ausgelöst werden. Sprich: Wenn Sie für eine Suche im Feld Artikelname der Tabelle tblArtikel den Buchstaben A eingeben, soll das Listenfeld gleich alle Artikel anzeigen, die mit diesem Buchstaben beginnen. Geben Sie einen weiteren Buchstaben wie etwa L ein, zeigt das Listenfeld nur noch Einträge an, die mit AL beginnen.

Wenn Sie nach allen Artikelnamen suchen wollen, die einen Buchstaben oder eine Zeichenfolge an irgendeiner Stelle enthalten, verwenden Sie entsprechende Platzhalter wie etwa das Sternchen. Der Suchbegriff *A* liefert dann alle Artikel, die den Buchstaben A im Namen enthalten (siehe Bild 1).

Schnellsuche im Listenfeld

Bild 1: Schnellsuche im Listenfeld

Alternativ können Sie die Suche auch so gestalten, dass automatisch alle Artikelnamen ausgegeben werden, die eine bestimmte Zeichenfolge enthalten – dazu später mehr.

Formular mit Schnellsuche erstellen

Legen Sie ein neues Formular an und speichern Sie es unter dem Namen frmSchnellsuche.

Fügen Sie dem Formular dann ein Listenfeld zur Anzeige des Suchergebnisses an. Das Listenfeld soll den Namen lstArtikel erhalten. Es soll nur zur Auswahl eines Artikels dienen, daher reicht es, wenn es die Artikelnamen anzeigt. Damit der ausgewählte Datensatz jedoch eindeutig identifiziert werden kann, muss die Datensatzherkunft des Listenfeldes neben dem Feld Artikelname auch noch das Feld ArtikelID enthalten. Außerdem kann eine Sortierung nach dem Feld Artikelname nicht schaden (siehe Bild 2).

Datensatzherkunft des Listenfeldes

Bild 2: Datensatzherkunft des Listenfeldes

Damit das Listenfeld nur den Artikelnamen, nicht aber das Feld ArtikelID anzeigt, stellen Sie außerdem die Eigenschaften Spaltenanzahl und Spaltenbreiten des Listenfeld-Steuerelements auf die Werte 2 und 0cm ein. Wie ein Wechsel in die Formularansicht zeigt, liefert das Listenfeld bereits die gewünschten Daten (siehe Bild 3). Bevor wir uns um das Textfeld zur Eingabe des Suchergebnisses kümmern, stellen wir noch einige Formulareigenschaften ein. Die Eigenschaften Datensatzmarkierer, Navigationsschaltflächen, Trennlinien und Bildlaufleisten stellen Sie auf den Wert Nein ein. Das Formular wirkt dadurch etwas aufgeräumter, außerdem benötigen wir all diese Elemente aktuell nicht.

Access [basics]

Unser exklusives Angebot für Dich!

Access im Unternehmen
7,90 € im Monat*

(Das Abo ist jederzeit monatlich kündbar)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
Kostenlos & unverbindlich

Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?

Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?

In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.

Jetzt kostenloses Access-Audit anfordern →