Formularfeld als Suchkriterium für ein Unterformular im Hauptformular erstellen (Access 97, 2000)
Veröffentlicht am 30.12.2003
Frage:
Das Suchfeld (Eingabefeld) soll Datensätze im Unterformular filtern.
Beispiel: Man gibt im Suchfeld
=12
ein.
Alle Datensätze im Unterformular, die den Wert 12 beinhalten werden angezeigt, beispielsweise 4012 1200 5125 usw.
Wie kann ich das erreichen?
Antwort:
Zur Lösung dieses Problems bietet sich die Filter-Eigenschaft des Unterformulars an. Sie müssen entweder in dem Nach-Aktualisieren-Ereignis des Textfeldes zur Eingabe des Suchkriteriums oder in dem Beim-Klicken-Ereignis einer Schaltfläche die Filter-Eigenschaft des Unterformulars setzen. Betrachten Sie dazu das folgende Beispiel:
Forms("Hauptformularname").Controls("Unterformularsteuerelementname").Form.Filter = "ID = 15"
Forms("Hauptformularname").Controls("Unterformularsteuerelementname").Form.FilterOn
Das Beispiel filtert die Datensätze des Unterformulars mit dem Kriterium „ID = 15“ und schaltet den Filter ein.
Alternativ dazu können Sie auch den Like-Operator verwenden. Wenn Sie beispielsweise in einem Unterformularsteuerelement txtNachname alle Nachnamen suchen wollen, die mit dem Buchstaben „A“ beginnen, würde das obige Beispiel wie folgt aussehen:
Forms("Hauptformularname").Controls("Unterformularsteuerelementname").Form.Filter = "txtNachname like 'A*'"
Forms("Hauptformularname").Controls("Unterformularsteuerelementname").Form.FilterOn