Alle auf einen Streich: Suchen von Daten in Listenfeldern

Das Durchsuchen einer Datensatzgruppe (etwa einer Tabelle oder einer Abfrage) nach einem bestimmten Inhalt in einem bestimmten Feld birgt im Allgemeinen keine größeren Hindernisse in sich. Aber wenn man verschiedene Felder nach dem gleichen Inhalt durchsuchen will, ist die Sache nicht mehr ganz so einfach. Vor allem, wenn man bereits nach der Eingabe des ersten Zeichens Ergebnisse sehen möchte. Für diesen Fall ist der vorliegende Beitrag genau die richtige Lösung.

Vorbereiten der Beispieldatenbank

Wenn Sie die folgenden Beispiele praktisch nachvollziehen möchten, benötigen Sie eine Datenbank mit bestimmten Tabellen. Die Tabellen entstammen – wie so oft – aus der Südwind-Datenbank, der optimierten Access im Unternehmen-Variante der Nordwind-Datenbank. Sie können entweder die Originaldatenbank verwenden, eine Kopie zum Herumprobieren erstellen oder auch einfach nur die gewünschten Tabellen in eine neue Datenbank exportieren.

Um letzteres zu tun, legen Sie zunächst eine neue Datenbank an und speichern Sie im gewünschten Verzeichnis ab. Anschließend gehen Sie folgendermaßen vor:

  • Wählen Sie aus der Menüleiste den Befehl Datei|Externe Daten|Importieren (Access 2003 und älter) beziehungsweise den Ribbon-Eintrag Externe Daten|Importieren und verknüpfen|Access (Access 2007 und höher) aus.
  • Suchen Sie im Dialog Importieren nach der Nordwind-Datenbank, aus der Sie die Tabellen importieren möchten.
  • Wählen Sie mit der Schaltfläche Alle auswählen sämtliche Tabellen der Datenbank aus (s. Bild 1).
  • Bestätigen Sie den Import-Vorgang mit einem Mausklick auf die Schaltfläche Ok.

pic001.png

Bild 1: Auswahl zu importierender Tabellen

Anlegen eines Formulars zur Anzeige der gewünschten Daten

Um den Suchbegriff einzugeben und die entsprechenden Daten anzuzeigen, benötigen Sie ein Formular. Das Formular soll ein Textfeld zur Eingabe des gewünschten Suchbegriffes und ein Listenfeld zur Ausgabe der gefundenen Datensätze enthalten.

Eigenschaften des Formulars festlegen

Da es nicht zur Navigation zwischen einzelnen Datensätzen dienen soll, können Sie die folgenden Eigenschaften auf den Wert Ja setzen: Bildlaufleisten, Datensatzmarkierer, Navigationsschaltflächen und Trennlinien.

Anlegen der Steuerelemente

Legen Sie in dem Formular ein Textfeld und ein Listenfeld an. Gestalten Sie das Listenfeld ruhig ein wenig großzügiger, da es mehrere Spalten anzeigen soll.

Listenfeld zur Anzeige von Datensätzen festlegen

Das Listenfeld soll die Daten der Tabelle Lieferanten enthalten und erhält dementsprechend den Namen lstLieferanten. Damit das Listenfeld die Datensätze der Tabelle Lieferanten anzeigt, legen Sie für die Eigenschaft Datensatzherkunft eine Abfrage an, die auf der Tabelle Lieferanten basiert:

  • Klicken Sie im Eigenschaftsfenster auf die Eigenschaft Datensatzherkunft.
  • Daraufhin erscheint eine Schaltfläche mit drei Punkten (…). Betätigen Sie die Schaltfläche.
  • Sie sehen nun die Entwurfsansicht einer neuen Abfrage. Klicken Sie im Dialog Tabellen anzeigen doppelt auf den Eintrag Lieferanten.
  • Schließen Sie den Dialog Tabellen anzeigen.
  • Ziehen Sie alle Felder der Tabelle Lieferanten in das Entwurfsraster der Abfrage.

Wenn Sie nun die Abfrage schließen und in die Formularansicht wechseln, erscheint im Listenfeld lediglich die Datensatznummer des jeweiligen Lieferanten (s. Bild 2). Damit Sie auch die anderen gewünschten Informationen zu Gesicht bekommen, müssen Sie die Eigenschaften Spaltenanzahl und Spaltenbreiten anpassen.

pic002.png

Bild 2: Das Listenfeld zeigt nur die Datensatznummer der Lieferanten.

Dabei gibt die Eigenschaft Spaltenanzahl die Anzahl der Felder der Abfrage an, die das Listenfeld anzeigt. Dabei wählt das Listenfeld die Felder von links nach rechts aus. Wenn die Abfrage also beispielsweise aus zehn Feldern besteht und Sie für die Eigenschaft Spaltenanzahl den Wert 5 angeben, übernimmt das Listenfeld die ersten fünf Felder.

Nun müssen Sie noch die Spaltenbreiten für die einzelnen Spalten angeben. Das geschieht beispielsweise in der folgenden Form:

2cm;4cm;4cm;0cm;3cm

Im Beispiel finden Sie einmal die Spaltenbreite 0cm. Das bedeutet, dass die entsprechende Spalte praktisch nicht sichtbar ist. Wenn Sie also etwa nur die erste, zweite, dritte und fünfte Spalte anzeigen möchten, ist der Wert des obigen Beispiels ungefähr richtig.

Zum Üben sollten Sie nun die Eigenschaften Spaltenanzahl und Spaltenbreiten so einstellen, dass Ihr Formular wie in Bild 3 erscheint. Ein Tipp: Damit die Datensatznummer nicht erscheint, setzen Sie die Breite der ersten Spalte auf den Wert 0cm.

pic003.png

Bild 3: Nun zeigt das Listenfeld die gewünschten Felder an.

Leider zeigt das Listenfeld noch nicht die Bezeichnungen der einzelnen Felder an. Das erreichen Sie mit dem Einstellen der Eigenschaft Spaltenüberschriften auf den Wert Ja erreichen (s. Bild 4).

pic004.png

Bild 4: Spaltenüberschriften machen das Listenfeld übersichtlicher.

Festlegen eines Feldes als Suchbegriff

Nach der Eingabe eines Textes in das Textfeld soll das Listenfeld nur noch die Datensätze anzeigen, die den eingegebenen Suchbegriff enthalten. Dazu müssen Sie die Datensatzherkunft des Textfeldes entsprechend einstellen.

Um die Datensatzherkunft zu bearbeiten, klicken Sie – wie Sie es bereits beim Erstellen der Abfrage getan haben – auf die Eigenschaft Datensatzherkunft und anschließend auf die […]-Schaltfläche.

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

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar