AnwendenFilter-Makroaktion

Mithilfe der ApplyFilter-Aktion können Sie eine Filter-, Abfrage- oder SQL WHERE-Klausel auf eine Tabelle-, Formular- oder Bericht-Klausel anwenden, um die Datensätze in der Tabelle oder die Datensätze aus der zugrunde liegenden Tabelle oder Abfrage des Formulars oder Berichts einzuschränken oder zu sortieren. Für Berichte können Sie diese Aktion nur in einem Makro verwenden, der durch die OnOpen-Ereigniseigenschaft des Berichts angegeben wird.

Hinweis: Zum Anwenden einer SQL WHERE-Klausel können Sie diese Aktion nur verwenden, wenn Sie einen Serverfilter anwenden. Ein Serverfilter kann nicht auf die Datensatzquelle einer gespeicherten Prozedur angewendet werden.

Hinweis: Die Makroaktion "AnwendenFilter" steht in Access-Web-Apps nicht zur Verfügung.

Einstellung

Die Aktion AnwendenFilter weist die folgenden Argumente auf:

Aktionsargument

Beschreibung

Filtername

Der Name eines Filters oder einer Abfrage, der die Datensätze der Tabelle, des Formulars oder des Berichts einschränkt oder sortiert. Sie können den Namen einer vorhandenen Abfrage oder eines Filters, der als Abfrage gespeichert wurde, im Feld Filtername im Abschnitt Aktionsargumente des Makro-Generator-Bereichs eingeben.

Hinweis: Wenn Sie mit dieser Aktion einen Serverfilter anwenden möchten, muss das Argument Filtername leer sein.

Bedingung

Eine gültige SQL WHERE-Klausel (ohne das Wort WHERE) oder ein Ausdruck, der die Datensätze der Tabelle, des Formulars oder des Berichts einschränkt.

Hinweis: In einem Where Condition-Argumentausdruck enthält die linke Seite des Ausdrucks in der Regel einen Feldnamen aus der zugrunde liegenden Tabelle oder Abfrage für das Formular oder den Bericht. Die rechte Seite des Ausdrucks enthält normalerweise die Kriterien, die Sie auf dieses Feld anwenden möchten, um die Datensätze einzuschränken oder zu sortieren. Die Kriterien können z. B. der Name eines Steuerelements in einem anderen Formular sein, das den Wert enthält, dem die Datensätze im ersten Formular entsprechen sollen. Der Name des Steuerelements sollte vollqualifiziert sein, z. B.:

Formulare!Formularname!Steuerelementname

Feldnamen sollten von Anführungszeichen umgeben sein und Zeichenfolgenliterale von Hochkommas.

Das Argument Bedingung darf maximal 255 Zeichen enthalten. Verwenden Sie die ApplyFilter -Methode des DoCmd-Objekts in einem VBA-Modul (Visual Basic for Applications), wenn Sie eine längere SQL WHERE-Klausel eingeben müssen. Sie können SQL WHERE-Klauselanweisungen in VBA mit bis zu 32.768 Zeichen eingeben.


Hinweis: Sie können das Argument Filtername verwenden, wenn Sie bereits einen Filter definiert haben, der die entsprechenden Daten bereitstellt. Sie können das Argument Bedingung verwenden, um die Einschränkungskriterien direkt einzugeben. Wenn Sie beide Argumente verwenden, wendet Access die WHERE-Klausel auf die Ergebnisse des Filtervorgangs an. Sie müssen mindestens eines der Argumente verwenden.

Hinweise

Sie können einen Filter oder eine Abfrage auf ein Formular in der Formularansicht oder in der Datenblattansicht anwenden.

Der angewendete Filter und die WHERE-Bedingung werden zur Einstellung der Filter- oder Serverfilter-Eigenschaft des Formulars oder des Berichts.

Für Tabellen und Formulare ist diese Aktion mit dem Klicken auf Filter/Sortierung anwenden oder Serverfilter anwenden im Menü Datensätze vergleichbar. Der Menübefehl wendet den zuletzt erstellten Filter auf die Tabelle oder das Formular an, wohingegen die AnwendenFilter-Aktion einen angegebenen Filter oder eine angegebene Abfrage anwendet.

Wenn Sie in einer Access-Datenbank im Menü Datensätze auf Filter zeigen und nach dem Ausführen der AnwendenFilter-Aktion auf Spezialfilter/-sortierung klicken, werden im Fenster Fenster "Spezialfilter/-sortierung" die Filterkriterien angezeigt, die Sie mit dieser Aktion ausgewählt haben.

Wenn Sie einen Filter entfernen und alle Datensätze für eine Tabelle oder ein Formular in einer Access-Datenbank anzeigen möchten, können Sie die Aktion ShowAllRecords oder den Befehl Filter/Sortieren entfernen im Menü Datensätze verwenden. Wenn Sie einen Filter in einem Access-Projekt (ADP) entfernen möchten, können Sie zum fenster Formularbasierter Serverfilter zurückkehren und alle Filterkriterien entfernen und dann im Menü Datensätze auf der Symbolleiste auf Serverfilter anwenden klicken oder die ServerFilterByForm-Eigenschaft auf False (0) festlegen.

Wenn Sie eine Tabelle oder ein Formular speichern, speichert Access jeden Filter, der derzeit in diesem Objekt definiert ist, aber den Filter beim nächsten Öffnen des Objekts nicht automatisch anwenden (obwohl es automatisch jede Sortierung angewendet wird, die Sie auf das Objekt angewendet haben, bevor es gespeichert wurde). Wenn Sie beim ersten Öffnen eines Formulars automatisch einen Filter anwenden möchten, geben Sie ein Makro mit der ApplyFilter-Aktion oder eine Ereignisprozedur an, die die ApplyFilter-Methode des DoCmd-Objekts als Einstellung der OnOpen-Ereigniseigenschaft des Formulars enthält. Sie können einen Filter auch mithilfe der OpenForm- oder OpenReport-Aktion oder der zugehörigen Methoden anwenden. Wenn Sie beim ersten Öffnen einer Tabelle automatisch einen Filter anwenden möchten, können Sie die Tabelle öffnen, indem Sie ein Makro verwenden, das die OpenTable-Aktion enthält, gefolgt von der Aktion ApplyFilter.

Beispiel

Anwenden eines Filters mithilfe eines Makros

Das folgende Makro enthält eine Reihe von Aktionen, von denen jede die Datensätze für ein Formular "Kundentelefonliste" filtert. Es zeigt die Verwendung der Aktionen ApplyFilter,ShowAllRecordsund GoToControl. Außerdem wird die Verwendung von Bedingungen veranschaulicht, um zu bestimmen, welche Umschaltfläche in einer Optionsgruppe im Formular ausgewählt wurde. Jede Aktionszeile ist einer Umschaltfläche zugeordnet, die die Gruppe von Datensätzen ab A, B, C und so weiter oder alle Datensätze auswählt. Dieses Makro sollte an das AfterUpdate-Ereignis der Optionsgruppe CompanyNameFilter angefügt werden.

Bedingung

Aktion

Argumente: Einstellung

Kommentar

[CompanyNameFilters]=1

AnwendenFilter

Bedingung: [Firmenname] wie "[AÀÁÂÃÄ]*"

Filter auf Firmennamen, die mit A, À, Á, Â, Ã oder Ä beginnen.

[CompanyNameFilters]=2

AnwendenFilter

Bedingung: [Firmenname] wie "B"

Filter auf Firmennamen, die mit B beginnen.

[CompanyNameFilters]=3

AnwendenFilter

Bedingung: [Firmenname] wie "[CÇ]*"

Filter auf Firmennamen, die mit C oder Ç beginnen.

... Aktionszeilen für D bis Y besitzen dasselbe Format wie für A bis C...

[CompanyNameFilters]=26

AnwendenFilter

Bedingung: [Firmenname] wie "[ZÆØÅ]*"

Filter auf Firmennamen, die mit Z, Æ, Ø oder Å beginnen.

[CompanyNameFilters]=27

AnzeigenAlleDatensätze

Zeigt alle Datensätze an.

[RecordsetClone].[RecordCount]>0

GeheZuSteuerelement

Name des Steuerelements: Firmenname

Wenn für den ausgewählten Buchstaben Datensätze zurückgegeben werden, setzen Sie den Fokus auf das Steuerelement "CompanyName".


Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×