Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Als u wilt dat een query in Access elke keer dat deze wordt uitgevoerd om invoer vraagt, kunt u een parameterquery maken.

U kunt ook een formulier maken om parameterwaarden te verzamelen dat wordt gebruikt om de records te beperken als die worden geretourneerd voor query's, formulieren of rapporten. In dit artikel wordt uitgelegd hoe u formulieren kunt gebruiken om het gebruik van parameters in query's, formulieren en rapporten te verbeteren.

In dit artikel

Overzicht

U kunt criteria gebruiken in een parameterquery in Access om de set records te beperken die worden geretourneerd met de query. Mogelijk zijn de dialoogvensters die worden geleverd met een parameterquery onvoldoende voor uw doeleinden. In deze gevallen kunt u een formulier maken dat beter voldoet aan uw behoeften aan een parameterverzameling. In dit artikel wordt uitgelegd hoe u een formulier maakt waarin query- en rapportparameters worden verzameld. In dit artikel wordt ervan uitgegaan dat u bekend bent met het maken van query's en het definiëren van parameters in query's. Voordat u doorgaat, moet u in ieder geval weten hoe u een selectiequery maakt.

Dit artikel bevat voorbeelden van het gebruik van parameters in query's. Het biedt geen uitgebreide referentie voor het opgeven van criteria.

Parameters gebruiken in query's

Een parameter gebruiken in een query is net zo eenvoudig als het maken van een query die gebruikmaakt van criteria. U kunt een query ontwerpen waarin om één stukje informatie wordt gevraagd, zoals een onderdeelnummer, of waarin om meer informatie wordt gevraagd, zoals twee datums. Een parameterquery geeft voor elke parameter een apart dialoogvenster weer waarin u wordt gevraagd een waarde voor de betreffende parameter in te voeren.

Een parameter toevoegen aan een query

  1. Maak een selectiequery en open deze query in ontwerpweergave.

  2. Voer in de rij Criteria van een veld waarop u een parameter wilt toepassen, de tekst in die u in het dialoogvenster voor de parameter wilt weergeven tussen vierkante haken. Bijvoorbeeld:

    [Begindatum]

    Wanneer u de parameterquery uitvoert, wordt de prompt weergegeven in een dialoogvenster zonder vierkante haken.

    U kunt ook een expressie gebruiken met de parameterprompts, bijvoorbeeld:

    Tussen [Begindatum] en [Einddatum]

    Opmerking: Er wordt een afzonderlijk dialoogvenster weergegeven voor elke parameterprompt. In het tweede voorbeeld worden twee dialoogvensters weergegeven: één voor de begindatum en een voor de einddatum.

  3. Herhaal stap 2 voor elk veld waaraan u parameters wilt toevoegen.

U kunt de voorgaande stappen gebruiken om een parameter toe te voegen aan een van de volgende querytypen: Selectiequery, kruistabelquery, toevoegquery, tabelmaakquery of bijwerkquery.

U kunt ook een parameter toevoegen aan een samenvoegquery door deze stappen te volgen:

  1. Open de samenvoegquery in de SQL-weergave.

  2. Voeg een WHERE-component toe dat alle velden bevat waarvoor u om een parameter wilt vragen.

    Als er al een WHERE-component bestaat, controleert u of de velden waarvoor u een parameterprompt wilt toevoegen, al voorkomen in de component. Als dit niet het geval is, voegt u ze toe.

  3. Gebruik geen criterium in de WHERE-component, maar gebruik in plaats hiervan een parameterprompt.

Gegevenstypen opgeven voor parameters

U kunt ook opgeven welk type gegevens een parameter moet accepteren. U kunt het gegevenstype voor elke parameter opgeven, maar het is vooral belangrijk om het gegevenstype op te geven voor numerieke gegevens, valutagegevens of datum-/tijdgegevens. Wanneer u het gegevenstype opgeeft dat een parameter moet accepteren, zien gebruikers een nuttiger foutbericht als ze het verkeerde type gegevens invoeren, zoals het invoeren van tekst wanneer valuta wordt verwacht.

Opmerking: Als de parameter zo is geconfigureerd dat deze tekst moet accepteren, wordt elke invoer geïnterpreteerd als tekst en wordt er geen foutbericht weergegeven.

Volg deze stappen als u het gegevenstype voor parameters in een query wilt opgeven:

  1. Klik, terwijl de query in de ontwerpweergave is geopend, in de groep Weergeven/verbergen op het tabblad Ontwerp op Parameters .

  2. Typ in de kolom Parameter van het dialoogvenster Queryparameters de vraag voor elke parameter waarvoor u het gegevenstype wilt opgeven. Zorg ervoor dat elke parameter overeenkomt met de vraag die u gebruikt in de rij Criteria van het queryontwerpraster.

  3. Selecteer in de kolom Gegevenstype het gegevenstype voor de afzonderlijke parameters.

Een formulier maken waarin parameters worden verzameld

Hoewel parameterquery's een ingebouwd dialoogvenster hebben waarin parameters worden verzameld, bieden ze alleen basisfunctionaliteit. Als u een formulier gebruikt om parameters te verzamelen, beschikt u over de volgende functies:

  • De mogelijkheid besturingselementen voor specifieke gegevenstypen te gebruiken, zoals agendabesturingselementen voor datums.

  • Persistentie van de verzamelde parameters, zodat u ze met meer dan één query kunt gebruiken.

  • De mogelijkheid om een keuzelijst of een keuzelijst met invoervak te bieden voor de parameterverzameling. Hiermee kunt u kiezen uit een lijst met beschikbare gegevenswaarden.

  • De mogelijkheid om besturingselementen te bieden voor andere functies, zoals het openen of vernieuwen van een query.

In de volgende video ziet hoe u een eenvoudig formulier kunt maken om parameters voor een query te verzamelen, in plaats van de dialoogvensters te gebruiken die meestal zijn gekoppeld aan parameterquery's.

Uw browser biedt geen ondersteuning voor video. Installeer Microsoft Silverlight, Adobe Flash Player of Internet Explorer 9.

Een formulier maken waarin parameters worden verzameld voor een rapport

U kunt dit scenario op verschillende manieren benaderen, maar we laten slechts één methode zien die voornamelijk gebruikmaakt van macro's. Volg deze stappen om een formulier te maken waarmee parameters worden verzameld voor een rapport.

Stap 1: Een formulier maken dat invoer accepteert

  1. Klik op het tabblad Maken in de groep Formulieren op Formulierontwerp.

  2. Druk in de ontwerpweergave op F4 om het eigenschappenvenster weer te geven. Geef vervolgens de formuliereigenschappen op, zoals weergegeven in de volgende tabel.

    Eigenschap

    Instelling

    Bijschrift

    Voer de naam in die u wilt weergeven in de titelbalk van het formulier.

    Standaardweergave

    Enkel formulier

    Formulierweergave toestaan

    Ja

    Gegevensbladweergave toestaan

    Nee

    Draaitabelweergave toestaan

    Nee

    Draaigrafiekweergave toestaan

    Nee

    Schuifbalken

    Geen

    Recordkiezers

    Nee

    Navigatieknoppen

    Nee

    Randstijl

    Dialoogvenster

  3. Klik voor elke parameter die u met het formulier wilt verzamelen op Tekstvak in de groep Besturingselementen op het tabblad Ontwerpen.

  4. Stel de eigenschappen voor de tekstvakken in, zoals wordt weergegeven in de volgende tabel.

    Eigenschap

    Instelling

    Naam

    Voer een naam in die de parameter beschrijft, bijvoorbeeld Startdatum.

    Indeling

    Kies een indeling die het gegevenstype van het parameterveld weerspiegeld. Selecteer voor een datumveld bijvoorbeeld Standaarddatumnotatie.

  5. Sla het formulier op en geeft het een naam, zoals frmCriteria.

Stap 2: Een codemodule maken om te controleren of het parameterformulier al is geladen

  1. Klik op het tabblad Maken in de groep Macro's en code op Module

    Er wordt een nieuwe module geopend in Visual Basic Editor.

  2. Typ of plak de volgende code in Visual Basic Editor:

    Function IsLoaded(ByVal strFormName As String) As Boolean
    Dim oAccessObject As AccessObject
    Set oAccessObject = CurrentProject.AllForms(strFormName)
    If oAccessObject.IsLoaded Then
      If oAccessObject.CurrentView <> acCurViewDesign Then
        IsLoaded = True
      End If
    End If
    End Function
    
  3. Sla de module op met een unieke naam. Vervolgens sluit u Visual Basic Editor.

Stap 3: Een macro maken waarmee het formulier en rapport worden bestuurd

Met de submacrofuncties van Access kunnen we alle stappen definiëren die we moeten volgen in één macro. We maken vier submacro's: Dialoogvenster openen, Dialoogvenster sluiten, OK en Annuleren. Hiermee worden de verschillende taken beheerd die nodig zijn voor deze procedure. Gebruik de schermafbeelding hieronder als richtlijn om een nieuwe macro te maken met de volgende submacro's en acties. Opmerking: voor dit voorbeeld is de naam van het parameterformulier frmCriteria Pas uw macro aan zodat deze overeenkomt met de naam van het formulier dat u eerder hebt gemaakt. Klik ook op Alla acties weergeven op het tabblad Ontwerpen om alle macroacties weer te geven.

Schermafbeelding van een Access-macro met vier submacro’s en acties.

Sla de macro op en sluit deze. Geef de macro een naam, bijvoorbeeld Datumbereikmacro.

Stap 4: De opdrachtknoppen OK en Annuleren aan het formulier toevoegen

  1. Open het parameterformulier opnieuw dat u eerder hebt gemaakt in de ontwerpweergave.

  2. Controleer op het tabblad Ontwerpen in de groep Besturingselementen of Wizards voor besturingselementen gebruiken niet is ingeschakeld.

  3. Klik op het tabblad Ontwerpen in de groep Besturingselementen op Knop.

  4. Plaats de aanwijzer onder de tekstvakken in het formulier. Sleep vervolgens om een opdrachtknop OK te maken.

  5. Als het eigenschappenvenster niet zichtbaar is, drukt u op F4 om het te openen.

  6. Stel de eigenschappen voor de knop OK in, zoals wordt weergegeven in de volgende tabel.

    Eigenschap

    Instelling

    Naam

    OK

    Bijschrift

    OK

    Standaard

    Ja

    OnClick

    Voer de naam van de macro in, bijvoorbeeld Datumbereikmacro.OK.

  7. Maak een opdrachtknop Annuleren en stel de eigenschappen ervan in, zoals in de volgende tabel wordt weergegeven.

    Eigenschap

    Instelling

    Naam

    Annuleren

    Bijschrift

    Annuleren

    OnClick

    Voer de naam van de macro in, bijvoorbeeld Datumbereikmacro.Annuleren.

  8. Sla het formulier op en sluit dit.

Stap 5: De formuliergegevens gebruiken als querycriteria

  1. Open de query die u eerder hebt gemaakt in de ontwerpweergave.

  2. Voer de criteria voor de gegevens in. Gebruik het object Formulieren, de naam van het formulier en de naam van het besturingselement:

    • In een Access-database (.accdb of .mdb) gebruikt u voor een formulier met de naam frmCriteria bijvoorbeeld de volgende expressie om te verwijzen naar besturingselementen met de namen Begindatum en Einddatum in de query:

      Tussen [Formulieren]![frmCriteria]![Begindatum] en [Formulieren]![frmCriteria]![Einddatum]

Stap 6: Macroacties toevoegen aan de rapportgebeurtenissen

  1. Open het rapport dat u wilt gebruiken in de ontwerpweergave.

  2. Als het eigenschappenvenster niet zichtbaar is, drukt u op F4 om het te openen.

  3. Zorg ervoor dat de eigenschap Recordbron van het rapport dezelfde parameterquery gebruikt die u eerder hebt opgegeven.

  4. Stel de twee extra rapporteigenschappen in de volgende tabel in.

    Eigenschap

    Instelling

    OnOpen

    Voer de naam van de macro in, bijvoorbeeld Datumbereikmacro.Dialoogvenster openen.

    OnClose

    Voer de naam van de macro in, bijvoorbeeld Datumbereikmacro.Dialoogvenster sluiten.

    In de gebeurtenis Openen van het rapport, worden de acties in Access uitgevoerd die zijn gedefinieerd in de submacro Dialoogvenster openen van het object Datumbereikmacro. Op dezelfde manier worden bij het sluiten van het rapport de acties in Access uitgevoerd die zijn gedefinieerd in de submacro Dialoogvenster sluiten van het object Datumbereikmacro.

  5. Sla het rapport op en sluit het.

Stap 7: Probeer het zelf

Nu u alle Access-objecten hebt gemaakt, is het tijd om het uit te proberen. Open uw rapport in de rapportweergave of afdrukvoorbeeld en u ziet dat voordat het rapport wordt weergegeven, het parameterformulier in de dialoogvenstermodus wordt geopend. Voer de benodigde criteria in de tekstvakken in die u eerder hebt gemaakt en klik vervolgens op de opdrachtknop OK in het formulier. Access verbergt vervolgens het formulier (Zichtbaar = Nee) en opent het rapport met alleen gegevens die voldoen aan uw criteria. Dit werkt omdat de parameterquery waarop het rapport is gebaseerd, de waarden in de besturingselementen op het verborgen formulier kan lezen. Wanneer u het rapport sluit, wordt ook het parameterformulier gesloten.

Naar boven

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.