AnwendenFilter-Makroaktion

Sie können die AnwendenFilter-Aktion verwenden, um einen Filter, eine Abfrage oder eine SQL WHERE-Klausel auf eine Tabelle, ein Formular oder einen Bericht anzuwenden, wenn Sie die Datensätze in der Tabelle bzw. die Datensätze der zugrunde liegenden Tabelle oder Abfrage des Formulars oder Berichts einschränken oder sortieren möchten. Für Berichte können Sie diese Aktion nur in einem Makro verwenden, das in der BeimÖffnen-Ereigniseigenschaft des Berichts angegeben ist.

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 bzw. die 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 eingeben, der als Abfrage im Feld Filtername im Bereich Aktionsargumente des Makro-Generator-Bereichs gespeichert wurde.

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 Argumentausdruck Bedingung enthält die linke Seite des Ausdrucks normalerweise einen Feldnamen aus der zugrunde liegenden Tabelle bzw. Abfrage für das Formular oder den Bericht. Die rechte Seite des Ausdrucks enthält normalerweise die Kriterien, die Sie zum Einschränken oder Sortieren der Datensätze auf dieses Feld anwenden möchten. Bei den Kriterien kann es sich z. B. um den Namen eines Steuerelements oder eines anderen Formulars handeln, das den Wert enthält, mit dem die Datensätze im ersten Formular übereinstimmen sollen. Der Name des Steuerelements sollte ein vollqualifizierter Name sein. Beispiel:

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.

Sie können die AnzeigenAlleDatensätze-Aktion oder den Befehl Filter/Sortierung entfernen im Menü Datensätze verwenden, um einen Filter zu entfernen und alle Datensätze einer Tabelle oder eines Formulars in einer Access-Datenbank anzuzeigen. Wenn Sie einen Filter aus einem Access-Projekt (ADP) entfernen möchten, können Sie zum Fenster Formularbasierter Serverfilter zurückkehren, alle Filterkriterien entfernen und dann im Menü Datensätze auf der Symbolleiste auf Serverfilter anwenden klicken. Oder Sie können die FormularbasierterServerFilter-Eigenschaft auf Falsch (0) festlegen.

Beim Speichern einer Tabelle oder eines Formulars speichert Access alle Filter, die in dem Objekt derzeit definiert sind, wendet die Filter jedoch das nächste Mal, wenn das Objekt geöffnet wird, nicht an (wobei jedoch eine vor dem Speichern auf das Objekt angewendete Sortierung automatisch angewendet wird). Wenn ein Filter automatisch beim ersten Öffnen des Formulars angewendet werden soll, geben Sie ein Makro, das die AnwendenFilter-Aktion enthält, oder eine Ereignisprozedur mit der ApplyFilter-Methode des DoCmd-Objekts als Einstellung für die BeimÖffnen-Ereigniseigenschaft des Formulars an. Sie können einen Filter auch anwenden, indem Sie die ÖffnenFormular- oder die ÖffnenBericht-Aktion oder die entsprechenden Methoden verwenden. Sie können die Tabelle öffnen, indem Sie ein Makro, das die ÖffnenTabelle-Aktion enthält, und anschließend die AnwendenFilter-Aktion verwenden. Auf diese Weise wird ein Filter automatisch beim ersten Öffnen einer Tabelle angewendet.

Beispiel

Anwenden eines Filters mithilfe eines Makros

Das folgende Makro enthält eine Reihe von Aktionen, die jeweils die Datensätze nach einem Formular "Kunden-Telefonnummern" filtern. Es zeigt die Verwendung der Aktionen AnwendenFilter, AnzeigenAlleDatensätze und GeheZuSteuerelemen. Außerdem zeigt es die Verwendung von Bedingungen, mit denen ermittelt wird, welche Umschaltfläche in einer Optionsgruppe im Formular ausgewählt ist. Jeder Aktionszeile ist eine Umschaltfläche zugeordnet, mit der die mit A, B, C usw. beginnenden Datensatzgruppen oder alle Datensätze ausgewählt werden. Dieses Makro sollte dem AfterUpdate-Ereignis der Optionsgruppe "CompanyNameFilter" hinzugefü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".


Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×