FilterToepassen, macroactie

Met de actie FilterToepassen kunt u een filter, een query of een SQL WHERE-component toepassen op een tabel, formulier of rapport om de records in de tabel of de records van de onderliggende tabel of query van het formulier of rapport te beperken of te sorteren. Voor rapporten kunt u deze actie alleen gebruiken in een macro die is opgegeven in de gebeurteniseigenschap BijOpenen van het rapport.

Opmerking: U kunt deze actie alleen gebruiken om een SQL WHERE-component toe te passen wanneer u een serverfilter toepast. Een serverfilter kan niet worden toegepast op de recordbron van een opgeslagen procedure.

Opmerking: De macroactie FilterToepassen is niet beschikbaar in web-apps van Access.

Instelling

De actie FilterToepassen heeft de volgende argumenten.

Actieargument

Beschrijving

Filternaam

De naam van een filter of query waarmee de records van de tabel, het formulier of het rapport worden gesorteerd. U kunt de naam invoeren van een bestaande query of van een filter dat is opgeslagen als een query in het vak Filternaam in de sectie Actieargumenten van het deelvenster Opbouwfunctie voor Macro's.

Opmerking: Wanneer u deze actie gebruikt om een serverfilter toe te passen, moet het argument Filternaam leeg zijn.

Where-voorwaarde

Een geldige SQL WHERE-component (zonder het woord WHERE) of een expressie waarmee de records van de tabel, het formulier of het rapport worden beperkt.

Opmerking: In een argumentexpressie Where-voorwaarde bevat de linkerkant van de expressie meestal een veldnaam uit de onderliggende tabel of query voor het formulier of rapport. Aan de rechterkant van de expressie ziet u meestal de criteria die u wilt toepassen op dit veld om de records te beperken of te sorteren. De criteria kunnen bijvoorbeeld bestaan uit de naam van een besturingselement op een ander formulier dat de waarde bevat waarmee de records in het eerste formulier moeten overeenkomen. De naam van het besturingselement moet volledig zijn gekwalificeerd, bijvoorbeeld:

Formulieren!formuliernaam!naambesturingselement

Veldnamen moeten tussen dubbele aanhalingstekens staan en letterlijke tekenreeksen tussen enkele aanhalingstekens.

De maximumlengte van het argument Where-voorwaarde is 255 tekens. Als u een langere SQL WHERE-component wilt invoeren, gebruikt u de methode FilterToepassen van het object DoCmd in een VBA-module (Visual Basic for Applications). In VBA kunt u instructies voor SQL WHERE-componenten invoeren van maximaal 32.768 tekens.


Opmerking: U kunt het argument Filternaam gebruiken als u al een filter hebt gedefinieerd waarmee de gewenste gegevens worden opgehaald. U kunt het argument Where-voorwaarde gebruiken om de beperkingscriteria rechtstreeks in te voeren. Als u beide argumenten gebruikt, wordt in Access de WHERE-component toegepast op de resultaten van het filter. U moet een of beide argumenten gebruiken.

Opmerkingen

U kunt een filter of query toepassen op een formulier in de formulierweergave of gegevensbladweergave.

Het filter dat en de WHERE-voorwaarde die u toepast, worden de instelling van de eigenschap Filter of Serverfilter van het formulier of rapport.

Voor tabellen en formulieren is deze actie vergelijkbaar met het klikken op Filter/sorteervolgorde toepassen of Serverfilter toepassen in het menu Records. Met de menuopdracht wordt het meest recent gemaakte filter toegepast op de tabel of het formulier, terwijl met de actie FilterToepassen een opgegeven filter of query wordt toegepast.

Als u in een Access-database Filter aanwijst in het menu Records en dan op Geavanceerde filter-/sorteeropties klikt nadat u de actie FilterToepassen hebt uitgevoerd, worden in venster Geavanceerde filter-/sorteeropties de filtercriteria weergegeven die u met deze actie hebt geselecteerd.

Als u een filter wilt verwijderen en alle records van een tabel of formulier wilt weergeven in een Access-database, kunt u de actie AlleRecordsWeergeven of de opdracht Filter/sorteervolgorde ongedaan maken in het menu Records gebruiken. Als u een filter in een Access-project (.adp) wilt verwijderen, gaat u terug naar het venster serverformulierfilter, verwijdert u alle filtercriteria en klikt u op Serverfilter toepassen in het menu Records op de werkbalk. U kunt ook de eigenschap Serverformulierfilter instellen op Onwaar (0).

Wanneer u een tabel of formulier opslaat, worden ook filters opgeslagen die op dat moment zijn gedefinieerd in het object. Het filter wordt echter niet automatisch toegepast wanneer het object de volgende keer wordt geopend (sorteringen die waren toegepast op het object voordat u dit hebt opgeslagen, worden wel automatisch toegepast). Als u automatisch een filter wilt toepassen wanneer een formulier voor het eerst wordt geopend, geeft u een macro met de actie FilterToepassen op of een gebeurtenisprocedure met de methode FilterToepassen van het object DoCmd als de instelling van de gebeurteniseigenschap BijOpenen van het formulier. U kunt ook een filter toepassen met de actie FormulierOpenen of RapportOpenen of de bijbehorende methoden. Als u een filter automatisch wilt toepassen wanneer een tabel de eerste keer wordt geopend, kunt u de tabel openen met een macro die de actie TabelOpenen bevat, direct gevolgd door de actie FilterToepassen.

Voorbeeld

Een filter toepassen met een macro

De volgende macro bevat een reeks acties, waarmee de records voor een formulier Telefoonlijst klanten worden gefilterd. Hierin kunt u het gebruik van de acties FilterToepassen, AlleRecordsWeergeven en NaarBesturingselementGaan bekijken. Daarnaast ziet u hoe voorwaarden worden gebruikt om te bepalen welke wisselknop in een groepsvak is geselecteerd op het formulier. Elke actierij is gekoppeld aan een wisselknop waarmee de set records wordt geselecteerd die begint met A, B, C enzovoort of alle records. Deze macro moet worden gekoppeld aan de gebeurtenis AfterUpdate van het groepsvak Bedrijfsnaamfilter.

Voorwaarde

Actie

Argumenten: instelling

Opmerking

[Bedrijfsnaamfilters] = 1

FilterToepassen

WHERE-voorwaarde: [Bedrijfsnaam] Like "[AÀÁÂÃÄ]*"

Filteren op bedrijfsnamen die beginnen met A, À, Á, Â, Ã of Ä.

[Bedrijfsnaamfilters] = 2

FilterToepassen

WHERE-voorwaarde: [Bedrijfsnaam] Like "B*"

Filteren op bedrijfsnamen die beginnen met B.

[Bedrijfsnaamfilters] = 3

FilterToepassen

WHERE-voorwaarde: [Bedrijfsnaam] Like "[CÇ]*"

Filteren op bedrijfsnamen die beginnen met C of Ç.

... Actierijen voor D tot en met Y hebben dezelfde opmaak als A tot en met C ...

[Bedrijfsnaamfilters] = 26

FilterToepassen

WHERE-voorwaarde: [Bedrijfsnaam] Like "[ZÆØÅ]*"

Filteren op bedrijfsnamen die beginnen met Z, Æ, Ø of Å.

[Bedrijfsnaamfilters] = 27

AlleRecordsWeergeven

Alle records weergeven.

[RecordsetClone].[RecordCount]>0

NaarBesturingselementGaan

Naam van besturingselement: Bedrijfsnaam

Als er records worden geretourneerd voor de geselecteerde letter, kunt u de focus verplaatsen naar het besturingselement Bedrijfsnaam.


Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×