Leren hoe u een expressie maakt

Van toepassing op
Access voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

U kunt expressies gebruiken om allerlei dingen met uw gegevens te doen. U kunt bijvoorbeeld bepalen hoeveel dagen en er zijn verstreken sinds een order is verzonden, of een Voornaam en Achternaam combineren in een Naam. In de volgende secties wordt stapsgewijs uitgelegd hoe u een expressie maakt.

In dit artikel

Waarden berekenen voor besturingselementen in formulieren en rapporten
Een berekend veld in een query maken
Standaardwaarden instellen voor een veld in een tabel
Een validatieregel toevoegen aan een tabelveld of record
Gegevens in rapporten groeperen en sorteren
Expressies gebruiken als querycriteria
Een berekend veld in een tabel maken
Standaardwaarden instellen voor besturingselementen
Een validatieregel toevoegen aan een besturingselement
Bepalen welke macroacties worden uitgevoerd

Waarden berekenen voor besturingselementen in formulieren en rapporten

Wanneer u een expressie gebruikt als gegevensbron voor een besturingselement, maakt u een berekend besturingselement. Stel u hebt een rapport met meerdere voorraadbeheerrecords en u wilt een totaal maken in de voettekst van het rapport dat alle regelitems opsomt.

Een totaal in een rapport

Als u het totaal wilt berekenen, plaatst u een tekstvakbesturingselement in de voettekst van het rapport en stelt u de eigenschap Besturingselementbron van het tekstvak in op de volgende expressie:


   =Sum([table_field])

In dit geval table_field is de naam van het veld dat uw subtotaalwaarden bevat. Dit veld kan afkomstig zijn van een tabel of een query. De functie Som berekent het totaal voor alle waarden van table_field.

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier dat u wilt wijzigen en klik vervolgens op Indelingsweergave of Ontwerpweergave in het snelmenu.
  2. Selecteer het besturingselement waarin u een expressie wilt invoeren.
  3. Klik op F4 als het eigenschappenblad nog niet wordt weergegeven, om dit weer te geven.
  4. Als u handmatig een expressie wilt maken, klikt u op het tabblad Gegevens in het eigenschappenvenster op de eigenschap ControlSource van het tekstvak en typt u = vervolgens de rest van de expressie. Als u bijvoorbeeld het hierboven weergegeven subtotaal wilt berekenen, typt =Sum([table_field])u , waarbij u ervoor zorgt dat u de naam van het veld vervangt door table_field.
  5. Als u een expressie wilt maken met behulp van de opbouwfunctie voor expressies, klikt u op de knop Knopbouwen in het eigenschappenvak.
    Nadat u de expressie hebt afgerond, zal het eigenschappenblad er als volgt uitzien:
    Een expressie in de eigenschap Besturingselementbron van een tekstvak

Naar boven

Expressies gebruiken als querycriteria

U gebruikt criteria in een query om het aantal resultaten te verkleinen. U voert de criteria in als een expressie en in Access worden alleen de rijen geretourneerd die overeenkomen met de expressie.

Stel dat u alle orders wilt weergeven waarvan de leverdatum in de eerste drie maanden van het jaar 2017 valt. Om de criteria in te voeren, typt u de volgende expressie in de cel Criteria voor de Datum/tijd-kolom in de query. In dit voorbeeld wordt gebruikgemaakt van een Datum/tijd-kolom met de naam Leverdatum. Voer de criteria als volgt in om een datumbereik te definiëren:


Between #1/1/2017# And #3/31/2017#

De kolom Verzenddatum ziet er dan ongeveer als volgt uit:

Een expressie in de rij Criteria van het queryraster

Voor elke record in de tabel Order geldt dat als de waarde in de kolom Leverdatum in het opgegeven datumbereik valt, de record wordt opgenomen in de uitvoer van de query. Houd er rekening mee dat u in de expressie de datums tussen hekjes () plaatst.# Waarden tussen hekjes worden in Access als gegevens van het type Datum/tijd behandeld. Door waarden als Datum/tijd-gegevens te behandelen, kunnen er berekeningen op deze waarden worden uitgevoerd, zoals het aftrekken van een datum van een andere datum.

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op de query die u wilt wijzigen en klik vervolgens op Ontwerpweergave in het snelmenu.
  2. Klik in de cel Criteria in de kolom waarvoor u de criteria wilt opgeven.
  3. Als u de expressie handmatig wilt maken, typt u de criteria-expressie. Laat de operator niet voorafgaan aan de = criteriumexpressie.
  4. Als u uw expressie wilt maken met behulp van de opbouwfunctie voor expressies, klikt u op het lint op Ontwerp en klikt u vervolgens in de groep Query-instelling op Afbeelding van knop Opbouwfunctie.
    Als u een groter gebied wilt waarin u de expressie kunt bewerken, plaatst u de cursor in de cel Criteria en drukt u op Shift+F2 om het dialoogvenster In- en uitzoomen weer te geven:
    Een expressie in het dialoogvenster in- en uitzoomen.
    Tip Als u de tekst beter leesbaar wilt maken, selecteert u Lettertype.

Naar boven

Een berekend veld in een query maken

Stel dat u een query ontwerpt en de resultaten van een berekening wilt weergeven met behulp van andere velden in de query. Om het berekende veld te maken, typt u een expressie in een lege cel in de rij Veld in de query. Als u bijvoorbeeld een query hebt met het veld Aantal en het veld Prijs per stuk, kunt u de twee velden vermenigvuldigen om een berekend veld te maken voor Factuurprijs door de volgende expressie in te voeren in de rij Veld van de query:


Extended Price: [Quantity] * [Unit Price]

Als u de expressie vooraf laat gaan met de tekst Extended Price: , wordt de nieuwe kolom Uitgebreide prijs aangeduid. Deze naam wordt vaak een alias genoemd. Als u geen alias opgeeft, wordt er een gemaakt, zoals Expr1.

Een expressie gebruiken om een berekend veld in een query te maken

Wanneer u de query uitvoert, wordt de berekening door Access uitgevoerd voor elke rij, zoals weergegeven in de volgende afbeelding:

Een berekend veld in de gegevensbladweergave

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op de query die u wilt wijzigen en klik vervolgens op Ontwerpweergave in het snelmenu.
  2. Klik op de cel Veld in de kolom waarin u het berekende veld wilt maken.
  3. Als u de expressie handmatig wilt maken, typt u de expressie.
    Ga niet vooraf aan de criteriumexpressie door de=operator, maar begin de expressie met een beschrijvend label, gevolgd door een dubbele punt. Typ Extended Price: bijvoorbeeld om het label op te geven voor een expressie waarmee een berekend veld met de naam Uitgebreide prijs wordt gemaakt. Voer vervolgens na de dubbele punt de criteria voor de expressie in.
  4. Als u de expressie wilt maken met de opbouwfunctie voor expressies, klikt u op het lint op Ontwerpen en vervolgens in de groep Query's instellen op Opbouwen.

Naar boven

Een berekend veld in een tabel maken

In Access kunt u een berekend veld in een tabel maken. Daardoor is er geen afzonderlijke query voor berekeningen meer nodig. Als u bijvoorbeeld een tabel hebt waarin de hoeveelheid, de prijs en de belasting voor elk artikel in een order wordt vermeld, kunt u een berekend veld toevoegen waarin het totaalbedrag wordt weergegeven:


[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))

De berekening kan geen velden uit andere tabellen of query’s bevatten en de resultaten van de berekening zijn alleen-lezen.

PROCEDURE

  1. Klik dubbel op de tabel navigatievenster.

  2. Blader horizontaal door de kolom helemaal rechts in de tabel en klik op de kolomtitel Klik om toe te voegen.

  3. Klik in de verschenen lijst op Berekend veld en klik vervolgens op de soort gegevens die u als resultaat wilt hebben. Accessgeeft de opbouwfunctie voor expressies weer.

  4. Voer de gewenste berekening voor dit veld in. Bijvoorbeeld:

    [Quantity] * [Unit Price]
    

    Voor een berekend veld start u de expressie niet met een gelijkteken (=).

  5. Klik op OK.
    Access voegt het berekende veld toe en markeert vervolgens de titel van het veld, zodat u een veldnaam kunt typen.

  6. Typ een naam voor het berekende veld en druk vervolgens op ENTER.

Naar boven

Standaardwaarden instellen voor een veld in een tabel

U kunt een expressie gebruiken om een standaardwaarde voor een veld in een tabel te specificeren: een waarde die in Access wordt gebruikt voor nieuwe records, tenzij een andere waarde wordt opgegeven. Stel dat u automatisch de datum en tijd wilt invoegen in het veld Orderdatum wanneer iemand een nieuwe record toevoegt. Hiervoor kunt u mogelijk de volgende expressie gebruiken:


Now()

PROCEDURE

  1. Dubbelklik in het navigatiedeelvenster op de tabel die u wilt wijzigen.
    Access opent de tabel in de gegevensbladweergave.
  2. Selecteer het veld dat u wilt wijzigen.
  3. Klik op het lint op Tabelvelden en klik in de groep Eigenschappen op Standaardwaarde. Accessgeeft de opbouwfunctie voor expressies weer.
  4. Typ uw expressie in het vak en zorg ervoor dat u de expressie begint met een gelijkteken (=).

Opmerking Als een besturingselement afhankelijk is van een tabelveld en zowel het besturingselement als het tabelveld standaardwaarden hebben, heeft de standaardwaarde van het besturingselement voorrang op het tabelveld.

Naar boven

Standaardwaarden instellen voor besturingselementen

Er worden ook vaak expressies gebruikt in de eigenschap Standaardwaarde van een besturingselement. De eigenschap Standaardwaarde van een besturingselement lijkt op de eigenschap Standaardwaarde van een veld in een tabel. Als u bijvoorbeeld de huidige datum wilt gebruiken als de standaardwaarde voor een tekstvak, kunt u de volgende expressie gebruiken.


Date()

De expressie Datum wordt gebruikt om wel de huidige datum maar niet de tijd te retourneren. Als het tekstvak afhankelijk is van een tabelveld en het veld een standaardwaarde heeft, heeft de standaardwaarde van het besturingselement voorrang op het tabelveld. Het is vaak beter om de eigenschap Standaardwaarde in te stellen voor het veld in de tabel. Als u dan een aantal besturingselementen voor verschillende formulieren baseert op hetzelfde tabelveld, wordt dezelfde standaardwaarde toegepast op elk besturingselement, zodat de gegevensinvoer consistent is op elk formulier.

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier of rapport dat u wilt wijzigen en klik vervolgens op Ontwerpweergave of Indelingsweergave in het snelmenu.
  2. Selecteer het besturingselement dat u wilt wijzigen.
  3. Druk op F4 om het eigenschappenvenster weer te geven, als het nog niet wordt weergegeven.
  4. Klik op het tabblad Alle in het eigenschappenvenster en klik vervolgens op het eigenschappenvak Standaardwaarde.
  5. Typ de expressie of klik op de knop Knopbouwen in het eigenschappenvak om een expressie te maken met behulp van de opbouwfunctie voor expressies.

Naar boven

Een validatieregel toevoegen aan een tabelveld of record

Expressies zijn erg handig voor het valideren van gegevens wanneer deze in de database worden ingevoerd, zodat slechte gegevens buiten de database blijven. In tabellen zijn er twee soorten validatieregels: veldvalidatieregels (waarmee wordt voorkomen dat gebruikers slechte gegevens invoeren in één veld) en recordvalidatieregels (die voorkomen dat gebruikers records maken die niet voldoen aan de validatieregel). U gebruikt expressies voor beide soorten validatieregels.

Stel dat u een tabel hebt, genaamd Voorraad met een veld Eenheden op voorraad en u wilt een regel instellen waardoor gebruikers worden gedwongen een waarde in te voeren die groter dan of gelijk is aan nul. Met andere woorden: de voorraad kan nooit een negatief getal hebben. U doet dit door de volgende expressie te gebruiken als een veldvalidatie in het veld Eenheden op voorraad:


 >=0

PROCEDURE: een validatieregel voor een veld of record invoeren

  1. Dubbelklik in het navigatiedeelvenster op de tabel die u wilt wijzigen. Access opent de tabel in de gegevensbladweergave.

  2. Selecteer het veld dat u wilt wijzigen voor een veldvalidatieregel.

  3. Klik op het lint op Tabelvelden, klik in de groep Veldvalidatie op Validatie en klik vervolgens op Veldvalidatieregel of Validatieregel. Accessgeeft de opbouwfunctie voor expressies weer.

  4. Begin met het invoeren van de door u gewenste criteria. Typ bijvoorbeeld het volgende voor een veldvalidatieregel waarvoor vereist is dat alle waarden groter dan of gelijk zijn aan nul:

     >=0
    

    Zet geen gelijkteken (=) voor de expressie.

Expressies voor validatieregels zijn Booleaanse waarden, wat betekent dat ze een True of False voor een bepaalde invoerwaarde zijn. Er moet een validatieregel zijn True voor de waarde, anders slaat Access de invoer niet op en wordt een validatiebericht weergegeven waarin de fout wordt aangegeven. Als u in dit voorbeeld een waarde invoert voor het veld Eenheden op voorraad die kleiner is dan nul, is Falsede validatieregel , en accepteert Access de waarde niet. Als u geen validatiebericht hebt opgegeven, zoals wordt beschreven in het volgende gedeelte, geeft Access een eigen bericht weer waarin staat dat de opgegeven waarde niet is toegestaan volgens de validatieregel voor het veld.

PROCEDURE: een validatiebericht invoeren

Om uw database gemakkelijker te kunnen gebruiken, kunt u aangepaste validatieberichten maken. Deze vervangen de algemene berichten in Access die niet overeenkomen met een validatieregel. U kunt een aangepast validatiebericht gebruiken om specifieke informatie te geven, zodat de gebruiker bijvoorbeeld de juiste gegevens kan invoeren, "De waarde van de eenheden op voorraad mag geen negatief aantal zijn".

  1. Dubbelklik in het navigatiedeelvenster op de tabel die u wilt wijzigen.
    Access opent de tabel in de gegevensbladweergave.
  2. Selecteer voor een veldvalidatiebericht het veld aan welk u de validatieregel hebt toegevoegd.
  3. Klik op het lint op Tabelvelden, klik in de groep Veldvalidatie op Validatie en klik vervolgens op Veldvalidatiebericht of Validatiebericht.
  4. Typ in het dialoogvenster Validatiebericht invoeren het bericht dat moet verschijnen, wanneer de gegevens niet overeenkomen met de validatieregel en klik vervolgens op OK.

Naar boven

Een validatieregel toevoegen aan een besturingselement

Naast tabelvelden en records hebben ook besturingselementen een eigenschap Validatieregel die een expressie kan accepteren. Stel dat u een formulier gebruikt voor het opgeven van het datumbereik voor een rapport en dat u ervoor wilt zorgen dat de begindatum niet vóór 1-1-2017 valt. U kunt de eigenschappen Validatieregel en Validatietekst instellen voor het tekstvak waarin u de begindatum invoert op het volgende:

eigenschap Instelling
Validatieregel >=#1-1-2017#
Validatietekst U kunt geen datum opgeven die vóór 1-1-2017 valt.

Als u een datum probeert in te voeren die eerder is dan 1-01-2017, wordt er een bericht weergegeven en wordt de tekst weergegeven in de eigenschap Validatietekst . Als er geen tekst is ingevoerd in het eigenschapsvak Validatietekst , wordt een algemeen bericht weergegeven. Nadat u op OK hebt geklikt, keert u terug naar het tekstvak.

Als u een validatieregel instelt voor een tabelveld, wordt de regel afgedwongen in de gehele database waar dat veld wordt gewijzigd. Als u echter een validatieregel instelt voor een besturingselement op een formulier, wordt de regel alleen afgedwongen wanneer dat formulier wordt gebruikt. Het afzonderlijk instellen van validatieregels voor tabelvelden en voor besturingselementen kan handig zijn als u verschillende validatieregels wilt gebruiken voor verschillende gebruikers.

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het formulier of rapport dat u wilt wijzigen en klik vervolgens op Ontwerpweergave of Indelingsweergave in het snelmenu.
  2. Klik met de rechtermuisknop op het besturingselement dat u wilt wijzigen en klik vervolgens op Eigenschappen in het snelmenu. Het eigenschappenvenster van het besturingselement wordt weergegeven.
  3. Klik op het tabblad Alle en klik vervolgens op het eigenschappenvak Validatieregel.
  4. Typ de expressie of klik op de knop Knopbouwen in het eigenschappenvak om een expressie te maken met behulp van de opbouwfunctie voor expressies.
    Laat de expressie niet voorafgaan door de operator = .
  5. Als u de tekst wilt aanpassen die wordt weergegeven als een gebruiker gegevens invoert die niet overeenkomen met de validatieregel, typt u de gewenste tekst in de eigenschap Validatietekst.

Naar boven

Gegevens in rapporten groeperen en sorteren

Gebruik het deelvenster Groeperen, sorteren en totaal om groepeerniveaus en sorteervolgordes te definiëren voor de gegevens in een rapport. Over het algemeen groepeert of sorteert u voor een veld dat u in een lijst selecteert. Als u echter wilt groeperen of sorteren voor een berekende waarde, kunt u ook een expressie invoeren.

Groeperen is het combineren van kolommen die dubbele waarden bevatten. Stel dat uw database verkoopgegevens bevat voor kantoren in verschillende steden en dat een van de rapporten in uw database de naam Verkoop per plaats heeft. Met de query die de gegevens voor dat rapport levert, worden de gegevens gegroepeerd op basis van uw plaatswaarden. Met behulp van dit type groepering kunnen gegevens eenvoudiger worden gelezen en begrepen.

Sorteren is daarentegen het opleggen van een sorteervolgorde aan de rijen (de records) in uw queryresultaten. U kunt records bijvoorbeeld aan de hand van hun primaire sleutelwaarden (of een andere set waarden in een ander veld) in oplopende of aflopende volgorde sorteren, maar u kunt de records ook op een of meer tekens in een opgegeven volgorde sorteren, zoals alfabetische volgorde.

PROCEDURE: groeperen en sorteren aan een rapport toevoegen

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt wijzigen en klik vervolgens op Indelingsweergave of Ontwerpweergave in het snelmenu.
  2. Klik op het lint op Rapportontwerp en klik in de groep Groeperen & totalen op Groeperen & sorteren. Het deelvenster Groeperen, sorteren en totaal berekenen wordt onder het rapport weergegeven.
  3. Klik op Groep toevoegen om een groepeerniveau aan het rapport toe te voegen.
  4. Klik op Sortering toevoegen om een sorteervolgorde aan het rapport toe te voegen.
    In het deelvenster wordt een nieuw groepeerniveau of nieuwe sorteervolgorde weergegeven, plus een lijst van de velden die gegevens leveren voor het rapport. In deze afbeelding ziet u een voorbeeld van een typisch nieuw(e) groepeerniveau (groeperen op Categorie) en sorteervolgorde (sorteren op Fabrikant) en een lijst die de beschikbare velden voor groeperen en sorteren bevat:
    De optie voor expressies kiezen in het deelvenster Groeperen, sorteren en Totaal berekenen
  5. Klik onder de lijst met beschikbare velden op expressie om de opbouwfunctie voor expressies te starten.
  6. Geef de te gebruiken expressie op in het expressievak (het bovenste vak) van de opbouwfunctie voor expressies. Zorg ervoor dat u de expressie begint met de operator equal (=).

PROCEDURE: een expressie toevoegen aan een bestaande groep of sortering

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op het rapport dat u wilt wijzigen en klik vervolgens op Indelingsweergave of Ontwerpweergave in het snelmenu.
  2. Klik op het groepeerniveau of de sorteervolgorde die u wilt wijzigen.
  3. Klik op de pijl omlaag naast Groeperen op (voor groepeerniveaus) of Sorteren op (voor sorteervolgordes). Er wordt een lijst geopend die de beschikbare velden bevat.
  4. Klik onder de lijst met de velden op expressie om de opbouwfunctie voor expressies te starten.
  5. Typ de expressie in het expressievak (het bovenste vak) van de opbouwfunctie voor expressies. Zorg ervoor dat u de expressie begint met de operator equal (=).

Naar boven

Bepalen welke macroacties worden uitgevoerd

Het kan voorkomen dat een actie of een reeks acties in een macro alleen moet worden uitgevoerd als aan een bepaalde voorwaarde wordt voldaan. Stel u wilt een actie alleen uitvoeren wanneer de waarde in een tekstvak groter dan of gelijk is aan 10. Voor het instellen van deze regel gebruikt u een expressie in een If-blok in de macro om de voorwaarde in de macro te definiëren.

In dit voorbeeld is de naam van het tekstvak Items. De expressie waarmee de voorwaarde wordt ingesteld, is:


[Items]>=10

Een expressie gebruikt in een If-blok in een macro

PROCEDURE

  1. Klik in het navigatiedeelvenster met de rechtermuisknop op de macro die u wilt wijzigen en klik vervolgens op Ontwerpweergave in het snelmenu.
  2. Klik op het If-blok dat u wilt wijzigen of voeg een If-blok toe vanuit het deelvenster Actiecatalogus.
  3. Klik op de bovenste regel van het If-blok.
  4. Typ uw voorwaardelijke expressie in het vak of klik op de knop Knopbouwen naast het expressievak om de opbouwfunctie voor expressies te gaan gebruiken.

De expressie die u typt, moet booleaanse waarde zijn, wat betekent dat deze of FalseisTrue. De macroacties in het If-blok worden alleen uitgevoerd wanneer de voorwaarde is True.

Naar boven

Zie ook

De opbouwfunctie voor expressies gebruiken

Inleiding tot expressies

Syntaxis voor expressies

Voorbeelden van expressies