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.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]