Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 6/2006.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Fügen Sie Formularen eine schnelle Filterfunktion für den Inhalt von Unterformularen hinzu.

Techniken

Formulare, VBA

Voraussetzungen

Access 97 oder höher

Beispieldatei

Unterformularfilter.mdb

Shortlink

413

Schnelles Filtern in Unterformularen

André Minhorst, Duisburg

Unterformulare zeigen meist mehrere Felder mit Daten in der Datenblatt- oder Endlosansicht an. Der vorliegende Beitrag zeigt, wie Sie schnell nach Begriffen in den im Unterformular angezeigten Daten suchen - ohne zwischendurch die Eingabetaste oder eine Suchen-Schaltfläche betätigen zu müssen.

Warum soll man eigentlich Daten in Unterformularen vom Hauptformular aus filtern oder durchsuchen können? Die Antwort ist einfach: Wenn das Unterformular die Daten etwa in der Datenblattansicht zeigt, ist die Unterbringung der für die Filter- oder Suchfunktion notwendigen Steuerelemente schlicht unmöglich, weil Access Kopf- und Fußbereiche von Formularen in der Datenblattansicht ausblendet.

Also bringt man Daten, die man in der Datenblattansicht anzeigen möchte, in einem eigenen Formular unter, das als Unterformular eines weiteren Formulars mit den notwendigen Steuerelementen dient. Abb. 1 zeigt das in diesem Beitrag vorgestellte Formular samt Unterformular.

pic001.tif

Abb. 1: Haupt- und Unterformular mit Suchfunktion

Beispieldaten

Die Daten für dieses Beispiel stammen aus der Tabelle tblParameter, die für das Speichern von Anwendungseinstellungen verantwortlich ist. In diesem Fall stammt diese Tabelle aus der Vertragsverwaltung [1] und enthält einige Konfigurationsdaten für einen Scanner (s. Abb. 2). Das Unterformular enthält diese Tabelle als Datenherkunft und heißt sfmParameter; ziehen Sie alle Felder aus der Feldliste in den Detailbereich und stellen Sie außerdem die Standardansicht auf Datenblatt ein. Gegebenenfalls passen Sie noch die Bezeichnungsfelder an, deren Inhalt in die Kopfzeile der Datenblattansicht übernommen wird. Für eine bessere Optik empfiehlt sich die Anpassung an die Schriftgröße im Hauptformular (Schriftgröße 8). Fügen Sie das Unterformular in ein weiteres Formular namens frmParameter ein und statten Sie dieses mit einem zusätzlichen Textfeld namens txtSuchbegriff aus.

pic002.tif

Abb. 2: Das Unterformular sfmParameter

Filterfunktion hinzufügen

Nun fehlt nur noch die Filterfunktion: Dazu legen Sie für das Ereignis Bei Änderung des Textfeldes txtSuchbegriff einfach die Routine aus Listing 1 an. Das Ereignis Bei Änderung wird bei jeder Änderung des im Textfeld angezeigten Textes ausgelöst - also sowohl beim Eingeben als auch beim Löschen eines Buchstabens.

Listing 1: Auswerten des Filterkriteriums und filtern des Unterformulars

Private Sub txtSuchbegriff_Change()

     Dim strSuchbegriff As String

     strSuchbegriff = Me!txtSuchbegriff.Text

     If Len(strSuchbegriff) > 0 Then

         Me!sfmParameter.Form.Filter = _
            „Parameter LIKE ‚*“ _
            & strSuchbegriff _
            & „*‘ OR Wert LIKE ‚*“
            & strSuchbegriff & „*‘“

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.