Sicher haben Sie bereits einige Abfragen erstellt und als Datenherkunft von Formularen, Berichten oder Steuerelementen eingesetzt. Solange das jeweilige Element alle Datensätze der zugrunde liegenden Abfrage anzeigen soll, ist dies einfach. Wenn Sie die Daten jedoch zur Laufzeit nach bestimmten Kriterien filtern möchten, gibt es zahlreiche Möglichkeiten, dies zu tun. Dieser Artikel stellt einige davon vor.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1211_DynamischeDatenherkunftMitFormularbezug.mdb.
Artikel filtern
Im ersten Beispiel sollen die Daten der Tabelle tblArtikel in einem Unterformular in der Datenblattansicht angezeigt werden. Um die Datensätze nach dem Artikelnamen zu filtern, enthält das Hauptformular ein Textfeld namens txtArtikelsuche. Wenn der Benutzer einen Text in dieses Feld eingegeben und die Schaltfläche cmdSuchen angeklickt hat, soll das Unterformular nur noch die passenden Datensätze anzeigen.
Dazu erstellen Sie zunächst ein geeignetes Unterformular. Diesem weisen Sie zuerst die Tabelle tblArtikel als Datenherkunft zu, damit Sie die Felder der Tabelle aus der Feldliste in den Formularentwurf ziehen können.
Das Ergebnis sieht etwa wie in Bild 1 aus. Stellen Sie außerdem die Eigenschaft Standardansicht des Formulars auf Datenblatt ein. Speichern Sie das Formular unter dem namen sfmArtikelsuche und schließen Sie es.
Bild 1: Zu filterndes Unterformular
Nun erstellen Sie das Hauptformular frmArtikelsuche. Fügen Sie diesem ein Textfeld namens txtArtikelsuche hinzu sowie eine Schaltfläche namens cmdSuchen.
Diese Schaltfläche soll den Inhalt des Unterformulars aktualisieren. Dazu hinterlegen Sie für das Ereignis Beim Klicken die folgende Prozedur (Klick auf die Eigenschaft Beim Klicken, Auswahl von [Ereignisprozedur], Klick auf die Schaltfläche mit den drei Punkten):
Private Sub cmdSuchen_Click() Me!sfmArtikelsuche.Form.Requery End Sub
Ziehen Sie außerdem das Unterformular sfmArtikelsuche aus dem Datenbankfenster beziehungsweise aus dem Navigationsbereich in den Detailbereich des Entwurfs des Formulars frmArtikelsuche. Das Ergebnis sieht wie in Bild 2 aus.
Bild 2: Haupt- und Unterformular in der Entwurfsansicht
Schließlich stellen Sie die Eigenschaften Datensatzmarkierer, Navigationsschaltflächen, Trennlinien und Bildlaufleisten des Hauptformulars auf Nein und Automatisch zentrieren auf Ja ein.
Datenherkunft anpassen
Nun passen Sie die bislang statische Datenherkunft des Unterformulars an. Dies können Sie gleich über die Entwurfsansicht das Hauptformulars erledigen. Klicken Sie zwei Mal oben links im Unterformular auf den Schnittpunkt der beiden Lineals, um das Unterformular zu markieren. Der erste Klick aktiviert das Unterformular-Steuerelement, der zweite das darin enthaltene Unterformular.
Aktivieren Sie das Eigenschaftsfenster und wechseln Sie zur Registerseite Daten. Klicken Sie erst auf die Eigenschaft Datenherkunft (ältere Access-Versionen) beziehungsweise Datensatzquelle und dann auf die Schaltfläche mit den drei Punkten am rechten Rand. Access fragt nun, ob Sie eine Abfrage erstellen möchten, die auf der als Datenherkunft gewählten Tabelle basiert – klicken Sie hier auf Ja.
Nun erscheint der Entwurf einer Abfrage, die im oberen Bereich bereits die Tabelle tblArtikel enthält.
Im Unterformular sind bereits Steuerelemente zur Anzeige aller Felder der Tabelle angelegt, also muss auch die neue Datenherkunft alle Felder der Tabelle zurückliefern. Markieren Sie alle Felder in der Feldliste unter tblArtikel, indem Sie zunächste das oberste Feld und dann bei gedrückter Umschalttaste das unterste Feld anklicken.
Lassen Sie die Umschalttaste los und ziehen Sie die markierten Felder per Drag and Drop in das Entwurfsraster im unteren Bereich.
Um alle Felder anzuzeigen, könnten Sie auch einfach das Sternchen aus der Feldliste in das Entwurfsraster ziehen. Allerdings müssten Sie dann solche Felder, für die Sie Sortierungen oder Kriterien festlegen möchten, erneut zum Entwurf hinzufügen und dann deren Anzeige deaktivieren, damit diese nicht zweimal im Abfrageergebnis erscheinen. Wenn Sie gleich alle Felder in das Entwurfsraster ziehen, ist es einfacher.
Möchten Sie weiterlesen? Dann lösen Sie Ihr Ticket!
Hier geht es zur Bestellung des Jahresabonnements des Magazins Access [basics]:
Zur Bestellung ...
Danach greifen Sie sofort auf alle rund 400 Artikel unseres Angebots zu - auch auf diesen hier!
Oder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein: