Schnellsuche mit Verzögerung

Wenn Sie ein Abonnement des Magazins 'Access im Unternehmen' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Schnellsuche mit Verzögerung

Eine Schnellsuche ist eine tolle Sache: Sie geben Buchstabe für Buchstabe ein und erhalten direkt nach der Eingabe das passende Suchergebnis. Dummerweise kann es je nach Datenherkunft und Backend auch einmal etwas länger dauern beziehungsweise performancemindernd sein, wenn Sie allzu oft neue Abfragen absenden. Doch es gibt einen feinen Kompromiss: Eine Schnellsuche, die nicht direkt nach der Eingabe eines Buchstabens das neue Suchergebnis präsentiert, sondern die erst nach einem gewissen Zeitraum ohne neue Eingabe neue Daten lädt.

Beispieldatenbank

Unser Versuchsaufbau für diese kleine Lösung sieht im Entwurf wie in Bild 1 aus. Wir haben dort zwei Textfelder angelegt, von denen das eine txtSchnellsuche heißt und die übliche Schnellsuche abbilden soll. Darunter finden Sie das Textfeld txtSchnellsucheMitVerzoegerung, das unsere angepasste Variante liefert.

Formular mit Textfeldern für die Schnellsuche und die Schnellsuche mit Verzögerung

Bild 1: Formular mit Textfeldern für die Schnellsuche und die Schnellsuche mit Verzögerung

Das Listenfeld lstKunden darunter verwendet als Datensatzherkunft die folgende Abfrage:

SELECT tblKunden.KundeID, tblKunden.Firma 
FROM tblKunden 
ORDER BY tblKunden.Firma;

Die Eigenschaft Spaltenanzahl stellen wir auf den Wert 2 und die Eigenschaft Spaltenbreiten auf den Wert 0cm ein, damit nur die Spalte mit dem Feld Firma angezeigt wird.

Herkömmliche Schnellsuche

Die einfache Schnellsuche, bei der das Suchergebnis mit der Eingabe jedes einzelnen Zeichens aktualisiert wird, sieht in der Formularansicht etwa wie in Bild 2 aus.

Einfache Schnellsuche im Einsatz

Bild 2: Einfache Schnellsuche im Einsatz

Um dies zu realisieren, hinterlegen Sie für die Ereigniseigenschaft Bei Änderung des Textfeldes txtSuchbegriff die Prozedur aus Listing 1.

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Aktuell im Blog
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen,... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen,... [mehr]