window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Kombinationsfeld um Suche erweitern

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Kombinationsfelder sind schon eine praktische Einrichtung: Sie erlauben nicht nur die Auswahl von Einträgen, die schon nach dem Alphabet voreingestellt sind, sondern auch noch die Eingabe der Anfangsbuchstaben der gesuchten Inhalte. Was aber, wenn Sie doch gezielter nach einem Eintrag im Kombinationsfeld suchen wollen – beispielsweise nach Einträgen, die bestimmte Vergleichstexte an beliebiger Stelle enthalten Dieser Artikel zeigt, wie Sie für ein Kombinationsfeld nach Wunsch per Doppelklick oder über eine zusätzliche Schaltfläche einen Dialog öffnen, mit dem Sie schnell den gesuchten Eintrag auswählen können.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1805_Kombisuche.accdb.

Vorbereitung

Wir wollen uns die eingebauten Suchfeatures und usnere neuen Funktionen an einem ungebundenen Kombinationsfeld ansehen, das wir in einem neuen Formular namens frmKombisuche anlegen.

Das Kombinationsfeld soll cboArtikel heißen und als Datensatzherkunft die folgende SQL-Abfrage verwenden:

SELECT ArtikelID, Artikelname 
FROM tblArtikel 
ORDER BY Artikelname;

Es soll also die Einträge der Tabelle tblArtikel liefern, wobei wir nur die beiden Felder ArtikelID und Artikelname berücksichtigen. Diese sollen alphabetisch nach den Werten des Feldes Artikelname sortiert werden. Rechts neben dem Kombinationsfeld fügen wir noch eine Schaltfläche namens cmdSuche ein, der wir als Beschriftung schlicht drei Punkte hinzufügen.

Damit das Kombinationsfeld nur die Werte des Feldes Artikelname anzeigt, nicht jedoch die der gebundenen ersten Spalte ArtikelID, stellen wir die Eigenschaft Spaltenanzahl auf 2 und die Eigenschaft Spaltenbreiten auf 0cm ein. Auf diese Weise wird die erste Spalte ausgeblendet (siehe Bild 1).

Entwurf des Formulars mit dem Kombinationsfeld

Bild 1: Entwurf des Formulars mit dem Kombinationsfeld

Eingebaute Suchfeatures

Wenn wir nun in die Formularansicht des Formulars wechseln und das Kombinationsfeld aufklappen, zeigt dieses zunächst alle Einträge der Datensatzherkunft an. Geben Sie nun einen oder mehrere Buchstaben ein, springt das Kombinationsfeld automatisch zum ersten Eintrag, der mit den gleichen Buchstaben beginnt, und markiert diesen wie in Bild 2.

Markieren des Eintrags mit den eingegebenen Anfangsbuchstaben

Bild 2: Markieren des Eintrags mit den eingegebenen Anfangsbuchstaben

Das geschieht solange, bis sie einen Text eingegeben haben, der in den Werten des angezeigten Feldes nicht mehr gefunden wird – dann finden Sie nur noch den eingegebenen Text im Kombinationsfeld vor und die aufgeklappte Liste zeigt wieder alle Einträge der Datensatzherkunft an.

Diese Funktion ist also im Prinzip kein Filter, sondern nur ein Anspringen des ersten Eintrags, der den eingegebenen Zeichen entspricht. Damit wir noch gezielter suchen können, wollen wir nun noch ein zusätzliches Formular hinzufügen, dass per Doppelklick oder per Mausklick auf eine zusätzliche Schaltfläche neben dem Kombinationsfeld aufgerufen werden kann.

Suchformular anlegen

Das Suchformular wollen wir frmArtikelsucheKombi nennen. Es soll ein Textfeld enthalten, mir dem der Benutzer den Suchbegriff eingibt sowie ein Listenfeld, das die gefundenen Einträge der Datenherkunft liefert.

Da das Formular selbst nicht an eine Datenherkunft gebunden sein soll, können wir die Eigenschaften Datensatzmarkierer, Navigationsschaltflächen, Trennlinien und Bildlaufleisten auf den Wert Nein einstellen. Außerdem soll die Eigenschaft Automatisch zentrieren den Wert Ja erhalten.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar