Microsoft Office Online
Aanmelden bij Mijn Office Online (Wat is dit?) | Aanmelden

 
 
Microsoft Office Access
Zoeken
Zoeken
 
  • Koop Office 2007 - Deze aanbieding is alleen geldig voor de download versie in de MS Store: (c) Microsoft
Koop Office 2007
 
 
 
Waarschuwing: u wilt deze pagina weergeven met een niet-ondersteunde browser. Deze website wordt het best bekeken met Microsoft Internet Explorer 6.0 of hoger, Firefox 1.5 of Netscape Navigator 8.0 of hoger. Meer informatie over ondersteunde browsers.

Printervriendelijke versiePrintervriendelijke versie Bladwijzer maken en delenDelen
Een expressie maken
Van toepassing op: Microsoft Office Access 2003
 
Vrouw die een computer en een PDA gebruikt
Van toepassing op
Microsoft Office Access 2003
Microsoft Access 2000 en 2002

U hebt vaak informatie nodig die niet direct beschikbaar is in een veld in de database. Bijvoorbeeld wanneer u de BTW over een order of het totaalbedrag moet berekenen, of wanneer u een query of filter met criteria - informatie aan de hand waarvan wordt bepaald met welke records u werkt - moet leveren. Of wanneer u een standaardwaarde wilt instellen voor een veld of besturingselement, of een validatieregel voor een veld of tabel. In al deze gevallen gebruikt u een expressie.

In dit artikel maakt u kennis met expressies. U leert wat een expressie is en waarom en waar u deze kunt gebruiken. U maakt ook kennis met de opbouwfunctie voor expressies. Dit is een hulpmiddel in Access dat u kunt gebruiken om expressies te maken. Tot slot leert u hoe u een expressie maakt met behulp van de opbouwfunctie voor expressies en hoe u een volledig nieuwe expressie maakt.

In dit artikel

Wat is een expressie?

Waarom worden expressies gebruikt?

Waar en hoe worden expressies gebruikt?

De opbouwfunctie voor expressies gebruiken

Expressies gebruiken om praktische redenen

Tabel met operatoren

Wat is een expressie?

Een expressie in Access is het equivalent van een formule in Excel. Een expressie bestaat uit een aantal mogelijke elementen die, op zichzelf of in combinatie met elkaar, worden gebruikt om een resultaat te genereren. Tot deze elementen behoren id's (de namen van velden, besturingselementen en eigenschappen), operatoren zoals + (plus) of - (min), functies, constanten en waarden. U gebruikt een expressie om een berekening uit te voeren, de waarde van een besturingselement op te halen, criteria op te geven voor een query, regels te definiëren, berekende besturingselementen of velden te maken, of een groepsniveau te definiëren voor een rapport.

Hieronder ziet u enkele voorbeelden van expressies.

Expressie Doel
=[Vervaldatum]-[Verzenddatum] Hiermee berekent u het verschil tussen de waarden in twee tekstvakbesturingselementen van een rapport
Datum() Hiermee stelt u de standaardwaarde voor een veld in een tabel in op de huidige datum
Factuurprijs: CCur([Detailgegevens order].PrijsPerEenheid*[Hoeveelheid]*(1-[Korting])/100)*100 Hiermee maakt u berekende velden in query's
Between #1-1-2005# And #31-12-2005# Wordt gebruikt om criteria op te geven voor een veld van het type Datum/tijd in een query
=[Subformulier Inkooporders].Formulier!Ordersubtotaal Retourneert de waarde van het besturingselement Ordersubtotaal op het subformulier Orders van het formulier Orders
> 0 Hiermee stelt u een validatieregel in voor een numeriek veld in een tabel

Zoals u kunt zien aan de voorgaande voorbeeldexpressies, is een expressie in Access niet gewoon een berekening. Expressies worden gebruikt voor allerlei doeleinden.

U zult ook zien dat de voorbeeldexpressis in bepaalde opzichten van elkaar verschillen. Bijvoorbeeld: sommige expressies beginnen met de operator =. Wanneer u een waarde wilt berekenen voor een besturingselement op een formulier of in een rapport, gebruikt u de operator = aan het begin van de expressie. In andere gevallen gebruikt u de operator = niet. Bijvoorbeeld: wanneer u een expressie opgeeft in een query of in de eigenschap Standaardwaarde of Validatieregel van een veld of besturingselement, gebruikt u de operator = niet.

Id's

Een id is de naam van een veld, eigenschap of besturingselement. U gebruikt een id in een expressie om te verwijzen naar de waarde die is gekoppeld aan een veld, eigenschap of besturingselement. Bijvoorbeeld: met de expressie =[Vervaldatum]-[Verzenddatum] wordt de waarde van het veld of besturingselement Verzenddatum afgetrokken van de waarde van het veld of besturingselement Vervaldatum. In deze expressie zijn zowel Vervaldatum als Verzenddatum id's.

Operatoren

In Access wordt een breed scala operatoren ondersteund, waaronder de verwachte rekenkundige operatoren zoals +, -, * (vermenigvuldigen), / (delen), alsmede vergelijkingsoperatoren voor het vergelijken van waarden, tekstoperatoren, tekstoperatoren voor het samenvoegen van tekst, logische operatoren om te bepalen of waarden waar of onwaar zijn, en andere operatoren die specifiek zijn voor Access. Zie het gedeelte Tabel met operatoren in dit artikel voor meer informatie over operatoren.

Functies

Functies zijn ingebouwde procedures die u kunt gebruiken in uw expressies. U kunt hiermee berekeningen uitvoeren, tekst en datums bewerken, gegevens samenvatten en een breed scala bewerkingen uitvoeren. Bijvoorbeeld: een veelgebruikte functie is Date. De functie Date geeft als resultaat de huidige datum. U kunt deze gebruiken in een expressie waarmee de standaardwaarde voor een veld in een tabel wordt ingesteld. Wanneer u dan een nieuwe record toevoegt, wordt standaard de huidige datum in het veld ingevuld.

Voor sommige functies zijn argumenten vereist. Een argument is een waarde die dient als invoer voor de functie. Als voor een functie meer dan een argument vereist is, scheidt u de argumenten door een komma. Bekijk de functie Format in de volgende voorbeeldexpressie:

=Format(Date(),"d mmmm jjjj")

In dit voorbeeld worden twee argumenten opgegeven. Het eerste is de functie Date. U kunt de waarde die door een functie wordt geretourneerd vaak als argument opgeven voor een andere functie. In dit geval geven we de huidige datum op, zoals deze wordt geretourneerd door de functie Date. Het tweede argument, van het eerste gescheiden door een komma, is een tekenreeks in de vorm van tekst waarmee voor de functie Format wordt aangegeven hoe de datum moet worden genoteerd. Let erop dat de tekenreeks tussen aanhalingstekens staat. Wanneer u tekst moet opgeven, moet u deze normaal gesproken tussen aanhalingstekens plaatsen.

Constanten

Een constante is een item met een naam, waarvan de waarde constant blijft zolang Access wordt uitgevoerd. De constanten die u het meest zult gebruiken in uw expressies, zijn Waar, Onwaar en Null. U kunt in Visual Basic for Applications (VBA) ook zelf constanten definiëren die u in procedures van VBA kunt gebruiken. VBA is de programmeertaal die in Access wordt gebruikt.

 Opmerking   U kunt geen Microsoft Visual Basic-constanten gebruiken in aangepaste functies die u gebruikt in uw expressies. Bijvoorbeeld: Visual Basic heeft constanten voor de dagen van de week: vbSunday staat voor zondag, vbMonday staat voor maandag, enzovoort. Elke constante heeft een corresponderende numerieke waarde. De numerieke waarde voor vbSunday is 1, voor vbMonday 2, enzovoort. U kunt deze constanten niet gebruiken in een aangepaste functie die wordt aangeroepen vanuit een expressie. U moet in plaats hiervan de numerieke waarden gebruiken.

Waarden

U kunt letterlijke waarden gebruiken in expressies. Numerieke waarden kunnen een cijferreeks zijn, met een teken en een decimaalteken (indien nodig). Als een teken ontbreekt, wordt ervan uitgegaan dat de waarde positief is. Als u een waarde negatief wilt maken, voegt u er een minteken (-) aan toe. U kunt ook de wetenschappelijke notatie gebruiken. Voeg hiertoe E of e toe aan het teken van de exponent (bijvoorbeeld 1.0E-6).

U moet tekenreekswaarden in de vorm van tekst tussen aanhalingstekens plaatsen. In sommige gevallen worden deze automatisch toegevoegd. Bijvoorbeeld: wanneer u tekst typt in een expressie voor een validatieregel of voor querycriteria, worden de aanhalingstekens automatisch toegevoegd.

Als u bijvoorbeeld de tekst Parijs typt, wordt in de expressie "Parijs" weergegeven. Als u wilt dat een expressie als resultaat een tekenreeks geeft die werkelijk tussen aanhalingstekens staat, kunt u de geneste tekenreeks tussen enkele aanhalingstekens (') of drie sets dubbele aanhalingstekens (") plaatsen. De volgende expressies zijn bijvoorbeeld equivalent:

Formulieren![Contactpersonen]![Plaats].Standaardwaarde = ' "Parijs" '
Formulieren![Contactpersonen]![Plaats].Standaardwaarde = " " "Parijs" " "

Datum/tijd-waarden moeten tussen hekjes (#) worden geplaatst. #3-7-05#, #7-mrt-05# en #mrt-7-2005# zijn bijvoorbeeld allemaal geldige Datum/tijd-waarden. Wanneer een Datum/tijd-waarde tussen hekjes (#) is geplaatst, wordt de waarde in Access automatisch behandeld als een item van het type Datum/tijd.

Terug naar boven Terug naar boven

Waarom worden expressies gebruikt?

In Access worden vaak expressies gebruikt, om allerlei redenen. Wanneer u bijvoorbeeld een waarde wilt berekenen voor een veld op een formulier, gebruikt u een expressie. Stel dat u het totaalbedrag wilt berekenen voor een regelitem in een factuur. Normaal gesproken wordt het totaal van een regelitem niet opgeslagen in de database. In plaats hiervan berekent u dit totaal op basis van twee items die u moet opslaan in de database: hoeveelheid en prijs.

=CCur([Hoeveelheid]*[Prijs])

Met deze expressie vermenigvuldigt u de hoeveelheid met de prijs en gebruikt u vervolgens de functie CCur (converteren naar valuta) om het resultaat te converteren naar het gegevenstype Valuta.

Normaal gesproken gebruikt u een tekstvakbesturingselement voor een berekende waarde, maar u kunt elk gewenst besturingselement gebruiken dat de eigenschap Besturingselementbron heeft. Een besturingselement dat een expressie als bron heeft, wordt een berekend besturingselement genoemd. Als het besturingselement een tekstvak is, kunt u de expressie direct in het tekstvak invoeren. U kunt deze ook invoeren in de eigenschap Besturingselementbron in het eigenschappenvenster.

Verschillende typen expressies in wolken

U gebruikt een expressie niet alleen om een vereiste waarde te berekenen die niet wordt opgeslagen in de database, maar vaak ook om informatie in te voeren in een query. Stel dat u de verkopen wilt weergeven van producten die zijn verzonden in een bepaalde periode. U kunt dan een criteria-expressie opgeven waarbij wordt gebruikgemaakt van de operator Between om het datumbereik te bepalen. Dan worden alleen de rijen geretourneerd die overeenkomen met de criteria en een verzenddatum hebben die binnen het opgegeven datumbereik valt:

Between #1-1-2004# And #31-12-2004#

U kunt er ook toe besluiten dat u het totaal van een regelitem wilt berekenen in de query die het formulier of rapport van gegevens voorziet. Een kolom in een query die het resultaat is van een dergelijke berekening, wordt een berekend veld genoemd. Bijvoorbeeld: met de volgende expressie in een query berekent u de totalen van de regelitems waarop een korting is toegepast:

Factuurprijs: CCur([Detailgegevens order].[PrijsPerEenheid]*[Hoeveelheid]*(1-[Korting])/100)*100

De resulterende kolom draagt de naam Factuurprijs.

U kunt een expressie ook goed gebruiken om een standaardwaarde op te geven voor een veld in een tabel of voor een besturingselement. Bijvoorbeeld: als u een datumveld hebt dat u standaard wilt vullen met de huidige datum, typt u Date() in het eigenschapvak Standaardwaarde voor dat veld. U kunt een expressie ook gebruiken om een validatieregel in te stellen. Bijvoorbeeld: u wilt een validatieregel gebruiken waarvoor de datum die wordt opgegeven, moet vallen op of na de huidige datum. In dat geval stelt u de waarde in het eigenschapvak Validatieregel in op >= Date().

Terug naar boven Terug naar boven

Waar en hoe worden expressies gebruikt?

Er zijn veel plaatsen waar u een expressie kunt gebruiken. Tabellen, query's, formulieren, rapporten en macro's hebben bijvoorbeeld allemaal plaatsen waar u een expressie kunt gebruiken. Bovendien gebruikt u bij het schrijven van VBA-code voor een gebeurtenisprocedure of voor een module vaak expressies die veel lijken op de expressies die u gebruikt in een Access-object zoals een tabel of query.

In expressies moeten namen van velden en besturingselementen tussen haakjes staan, bijvoorbeeld [PrijsPerEenheid]. Als u een naam opgeeft zonder haakjes of speciale tekens, worden deze automatisch geplaatst. Als een naam spaties of speciale tekens bevat, moet u de haakjes zelf typen.

U kunt een berekend besturingselement een naam geven door de eigenschap Naam in te stellen. De naam mag niet overeenkomen met andere namen van besturingselementen op het formulier of in het rapport. Deze moet ook verschillen van de naam van velden of besturingselementen die worden gebruikt in de expressie voor dat besturingselement. Bovendien mag de naam niet overeenkomen met de naam van velden in de onderliggende tabel of query. U kunt deze naam gebruiken wanneer u wilt verwijzen naar de waarde in het besturingselement in andere expressies op het formulier of in het rapport.

Expressies worden het meest gebruikt op de volgende plaatsen:

  • In een tekstvakbesturingselement op een formulier of in een rapport

    U gebruikt een expressie in een tekstvakbesturingselement om een berekend besturingselement te maken. Stel dat u een subtotaal wilt maken van alle regelitems op een bestelformulier. Dit subtotaal ziet er ongeveer als volgt uit.

    Subtotaal op bestelformulier

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

    =Som([Factuurprijs])

    Met de functie Som berekent u het totaal voor een set waarden uit de gegevensbron - in dit geval de kolom met de naam Factuurprijs.

    Een expressie invoeren in een tekstvakbesturingselement  

    1. Klik in het databasevenster onder Objecten op Formulieren.
    2. Klik op het formulier en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik in het tekstvak om het te selecteren.
    4. Open het menu Beeld en klik op Eigenschappen om het eigenschappenvenster van het tekstvak weer te geven.

      Het eigenschappenvenster van het tekstvak wordt weergegeven.

    5. Wijzig de eigenschap Besturingselementbron van het tekstvak in =, gevolgd door de expressie of klik op de knop Opbouwen Afbeelding van knop rechts van het eigenschapvak om een expressie te maken met behulp van de opbouwfunctie voor expressies. Bijvoorbeeld: als u het hierboven weergegeven subtotaal wilt berekenen, typt u =Som([Factuurprijs]).

      Het eigenschappenvenster ziet er dan ongeveer uit zoals in de volgende afbeelding.

      Eigenschappenvenster Ordersubtotaal waarin eigenschap Besturingselementbron wordt weergegeven

    6. Sluit het eigenschappenvenster.
  • In de criteriacel in het ontwerpraster van een query

    U gebruikt een expressie om criteria in een query te definiëren. Alleen de rijen die aan de criteria voldoen, worden geretourneerd. Stel dat u alle orders wilt weergeven waarvan de verzenddatum valt in het jaar 2004. Om de criteria in te voeren geeft u de volgende expressie op in de cel Criteria voor de kolom Verzenddatum in de query:

    Between #1-1-2004# And #31-12-2004#

    De kolom Verzenddatum ziet er dan ongeveer uit zoals in de volgende afbeelding.

    Between-operator gebruiken in queryontwerpraster

    De expressie wordt gebruikt om te bepalen of de verzenddatum binnen het datumbereik valt dat u hebt opgegeven. Let op: de datumwaarden staan tussen hekjes (#). Waarden tussen hekjes worden in Access behandeld als gegevens van het type Datum/tijd.

    Criteria opgeven in het queryontwerpraster  

    1. Klik in het databasevenster onder Objecten op Query's.
    2. Klik op de query en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik in de criteriacel op de kolom waarvoor u criteria wilt opgeven.
    4. Typ de criteria-expressie of klik op de knop Opbouwen Afbeelding van knop op de werkbalk om een expressie te maken met behulp van de opbouwfunctie voor expressies.

       Opmerking   Laat de criteria-expressie niet voorafgaan door de operator =.

      Als u een groter gebied wilt voor het invoeren van een expressie, drukt u op SHIFT+F2 om het vak In- en uitzoomen weer te geven.

      vak voor in- en uitzoomen met expressie

  • In de veldcel in het ontwerpraster van een query

    U gebruikt een expressie om een berekend veld te maken in een query. Stel dat u het jaar waarin een order is verzonden, wilt weergeven als deel van een query. Om het berekende veld te maken plaatst u de volgende expressie in de veldcel van een lege kolom in de query:

    Jaar: Format([Verzenddatum],"jjjj")

    De functie Format wordt gebruikt om het jaar op te halen uit het veld Verzenddatum en een notatie te gebruiken van vier cijfers. Let op: de resulterende kolom krijgt de naam Jaar doordat de expressie wordt voorafgegaan door Jaar:.

    Berekend veld in query met jaar

    Een berekend veld invoeren in queryontwerpweergave  

    1. Klik in het databasevenster onder Objecten op Query's.
    2. Klik op de query en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op de veldcel in de kolom waarin u het berekende veld wilt maken.
    4. Typ de expressie of klik op de knop Opbouwen Afbeelding van knop op de werkbalk om een expressie te maken met behulp van de opbouwfunctie voor expressies. U moet de expressie beginnen met een naam, gevolgd door een dubbele punt. Typ bijvoorbeeld Factuurprijs: om een expressie te beginnen waarmee u een berekend veld maakt met de naam Factuurprijs.
  • In de eigenschap Validatieregel van een veld in een tabel

    Een andere plaats waar een expressie goed van pas komt, is de eigenschap Validatieregel van een veld in een tabel. Stel dat u een regel wilt maken die vereist dat het veld [EenhBeschikbaar] in de voorraadtabel een waarde bevat die groter is dan of gelijk is aan nul. Met andere woorden: de voorraad kan nooit een negatief getal hebben. U kunt dit doen door de expressie te gebruiken die wordt getoond in de volgende afbeelding.

    Validatieregel voor EenhedenInBestelling

    Een validatieregel opgeven voor een veld in een tabel  

    1. Klik in het databasevenster op Tabellen onder Objecten.
    2. Klik op de tabel en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op de veldnaam van het gewenste veld.
    4. Klik op het eigenschapvak Validatieregel.
    5. Typ de expressie of klik op de knop Opbouwen Afbeelding van knop rechts van het eigenschapvak als u een expressie wilt maken met behulp van de opbouwfunctie voor expressies.

       Opmerking   Laat de expressie niet voorafgaan door de operator = wanneer u een validatieregel maakt.

    Validatieregelexpressies moeten resulteren in Waar, anders wordt de waarde niet geaccepteerd. In dit voorbeeld moet de waarde voor [EenhedenInBestelling] dus gelijk zijn aan >=0. Als dit niet het geval is, wordt de tekst weergegeven uit het eigenschapvak Validatietekst. Als u geen tekst hebt opgegeven in het eigenschapvak Validatietekst, wordt er een bericht weergegeven waarin staat dat de waarde die u hebt opgegeven, niet is toegestaan volgens de validatieregel voor het veld.

  • In de eigenschap Validatieregel van een besturingselement

    U kunt ook de eigenschap Validatieregel instellen voor een besturingselement. Stel dat u een formulier gebruikt om het datumbereik voor een rapport op te geven en dat u ervoor wilt zorgen dat de begindatum niet valt vóór #1-1-2004#. U kunt de eigenschappen Validatieregel en Validatietekst voor het tekstvak waarin u de begindatum opgeeft, dan bijvoorbeeld als volgt instellen:

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

    Als u toch een datum opgeeft die valt vóór #1-1-2004#, wordt er een bericht weergegeven. Nadat u op OK hebt geklikt, keert u terug naar het tekstvak.

    Berichtvak met validatietekst voor dialoogvenster Omzet per jaar

    Validatieregels opgeven voor besturingselementen  

    1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
    2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op het besturingselement om het te selecteren.
    4. Klik op de knop Eigenschappen op de werkbalk.

      Het eigenschappenvenster van het besturingselement wordt weergegeven.

    5. Klik op de tab Alle en klik vervolgens op het eigenschapvak Validatieregel.
    6. Typ de expressie of klik op de knop Opbouwen Afbeelding van knop rechts van het eigenschapsvak als u een expressie wilt maken met behulp van de opbouwfunctie voor expressies.

       Opmerking   Laat de expressie niet voorafgaan door de operator = wanneer u een validatieregel maakt.

    7. Wijzig eventueel de eigenschap Validatietekst.
    8. Sluit het eigenschappenvenster.

    Wanneer u een waarde opgeeft die niet is toegestaan volgens de validatieregel, drukt u op ESC terwijl de invoegpositie zich in het besturingselement bevindt om de oorspronkelijke of standaardwaarde te herstellen. Vervolgens kunt u een waarde opgeven die wel voldoet aan de validatieregel.

    Als de eigenschap Besturingselementbron voor uw besturingselement een veld in een tabel is, kunt u, naast de eigenschap Validatieregel van het besturingselement, het beste ook die eigenschap van het veld instellen. De regel wordt dan altijd toegepast, welk formulier of welke query er ook wordt gebruikt om het veld bij te werken.

  • In de eigenschap Standaardwaarde voor een veld in een tabel

    U kunt een expressie gebruiken om een standaardwaarde voor een veld in een tabel op te slaan. Stel dat u automatisch de datum en tijd wilt invoegen in het veld Orderdatum wanneer u een nieuwe record toevoegt. U kunt hiervoor de volgende expressie gebruiken:

    Functie Now in eigenschap Standaardwaarde van veld

    De functie Now wordt gebruikt om de datum en tijd in te voegen in het veld Orderdatum.

    Een standaardwaarde opgeven voor een veld in een tabel  

    1. Klik in het databasevenster op Tabellen onder Objecten.
    2. Klik op de tabel en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op de veldnaam van het gewenste veld.
    4. Klik op het eigenschapvak Standaardwaarde.
    5. Typ de expressie of klik op de knop Opbouwen Afbeelding van knop rechts van het eigenschapvak als u een expressie wilt maken met behulp van de opbouwfunctie voor expressies.

    Als een besturingselement is gebonden aan een veld in een tabel en het veld een standaardwaarde heeft, heeft de standaardwaarde van het besturingselement voorrang.

  • In de eigenschap Standaardwaarde in een besturingselement

    Er worden ook vaak expressies gebruikt in de eigenschap Standaardwaarde van een besturingselement. De eigenschap Standaardwaarde van een besturingselement gedraagt zich ongeveer hetzelfde als de eigenschap Standaardwaarde van een veld in een tabel. Bijvoorbeeld: als u de huidige datum wilt opgeven als de standaardwaarde voor een tekstvak Orderdatum, kunt u de volgende expressie gebruiken:

    Eigenschap Standaardwaarde instellen voor tekstvak Orderdatum

    De functie Date wordt gebruikt om wel de huidige datum maar niet de tijd te retourneren. Als het tekstvakbesturingselement is gebonden aan een veld in een tabel en het veld een standaardwaarde heeft, heeft de standaardwaarde van het besturingselement voorrang. Het is vaak beter om de eigenschap Standaardwaarde in te stellen voor het veld in de tabel, omdat de standaardwaarde altijd wordt toegepast, tenzij deze wordt overschreven door een besturingselement.

    Standaardwaarden opgeven voor besturingselementen  

    1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
    2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op het besturingselement om het te selecteren.
    4. Klik op de knop Eigenschappen op de werkbalk.

      Het eigenschappenvenster van het besturingselement wordt weergegeven.

    5. Klik op de tab Alle en klik vervolgens op het eigenschapvak Standaardwaarde.
    6. Typ de expressie of klik op de knop Opbouwen Afbeelding van knop rechts van het eigenschapvak als u een expressie wilt maken met behulp van de opbouwfunctie voor expressies.
    7. Sluit het eigenschappenvenster.
  • In de kolom Voorwaarde in een macro

    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 dat u wilt dat een actie alleen wordt uitgevoerd wanneer de waarde van het tekstvak Teller 10 is. U gebruikt dan een expressie om de voorwaarde te definiëren in de kolom Voorwaarde van de macro.

    Kolom Voorwaarde in macro

    Een voorwaarde opgeven voor een macroactie  

    1. Klik in het databasevenster op Macro's onder Objecten.
    2. Klik op de macro en klik vervolgens op Ontwerpen in het databasevenster.
    3. Klik op de cel Voorwaarde voor de macroactie die u wilt selecteren.

      Als de kolom Voorwaarde niet zichbaar is, klikt u in het menu Beeld op Voorwaarden.

    4. Typ een voorwaardelijke expressie.
    5. Sluit de macro.

    Net als de eigenschap Validatieregel is de kolomexpressie Voorwaarde een voorwaardelijke expressie. Deze moet resulteren in Waar of Onwaar. De actie wordt alleen uitgevoerd wanneer de voorwaarde Waar is.

  • In het vak Sorteren en groeperen

    U gebruikt het vak Sorteren en groeperen om groepsniveaus en sorteeropties te definiëren voor een rapport. U kunt groeperen op een veld of op een expressie. Stel dat u een rapport wilt groeperen op land, vervolgens op naam en ten slotte op order-id. Als de naamgegevens zijn opgeslagen in afzonderlijke velden - Achternaam en Voornaam - moet u groeperen op een expressie die lijkt op die in de volgende afbeelding.

    Vak Sorteren en groeperen met expressie voor velden Achternaam en Voornaam

    Bij deze expressie wordt de ampersandoperator (&) gebruikt om tekstwaarden te combineren (dit wordt vaak het aaneenschakelen van tekenreeksen genoemd). Zie het gedeelte Tekstwaarden combineren in dit artikel voor meer informatie over het combineren van tekstwaarden.

    Een expressie opgeven in het vak Sorteren en groeperen  

    1. Klik in het databasevenster onder Objecten op Rapporten.
    2. Klik op het rapport en klik vervolgens op Ontwerpen in het databasevenster.
    3. Open het rapport in de ontwerpweergave.
    4. Klik in het menu Beeld op Sorteren en groeperen.
    5. Klik op een cel in de kolom Veld/expressie.
    6. Typ een expressie, voorafgegaan door de operator =.

Terug naar boven Terug naar boven

De opbouwfunctie voor expressies gebruiken

U kunt de opbouwfunctie voor expressies gebruiken om u te helpen bij het maken van expressies. De opbouwfunctie voor expressies is een hulpmiddel dat u kunt starten vanaf de meeste plaatsen waarop u expressies schrijft. Het biedt eenvoudig toegang tot de namen van de velden en besturingselementen die worden gebruikt in uw database, alsmede tot veel van de ingebouwde functies die voor u beschikbaar zijn wanneer u expressies schrijft. U kunt de opbouwfunctie voor expressies gebruiken om een volledig nieuwe expressie te maken of u kunt een van de standaardexpressies selecteren voor de weergave van paginanummers, de huidige datum of de huidige datum en tijd.

Dialoogvenster Opbouwfunctie voor expressies

Toelichting 1 Expressievak

Het bovenste gedeelte van de opbouwfunctie bevat een expressievak waarin u de expressie kunt maken. U gebruikt de drie kolommen in het onderste gedeelte van de opbouwfunctie om elementen te zoeken die u in het expressievak kunt plakken. U kunt delen van de expressie ook rechtstreeks in het expressievak typen. Zo maakt u een expressie door typen en plakken te combineren.

Toelichting 2 Operatorknoppen

In het middelste gedeelte van de opbouwfunctie voor expressies worden knoppen weergegeven voor veelgebruikte operatoren. Als u een operator wilt invoegen in het expressievak, klikt u op de desbetreffende knop. Als u een lijst wilt weergeven met operatoren die u kunt gebruiken in expressies, klikt u op de map Operatoren in de kolom linksonder en klikt u vervolgens op de categorie die u in de middelste kolom wilt. In de rechterkolom worden dan alle operatoren weergegeven uit de geselecteerde categorie. Als u een operator wilt invoegen, dubbelklikt u op de operator of selecteert u deze en klikt u op Plakken.

Toelichting 3 Expressie-elementen

Het onderste gedeelte bevat drie kolommen:

  • In de linkerkolom worden mappen weergegeven met de tabellen, query's, formulieren en rapporten uit de database, alsmede de beschikbare ingebouwde functies en door gebruikers gedefinieerde functies, constanten, operatoren en veelgebruikte expressies.
  • De middelste kolom bevat specifieke elementen of categorieën van elementen voor de map die in de linkerkolom is geselecteerd. Als u bijvoorbeeld klikt op Ingebouwde functies in de linkerkolom, wordt in de middelste kolom een lijst met functiecategorieën weergegeven.
  • De rechterkolom bevat een lijst met mogelijke waarden voor de elementen die u in de linker- en de middelste kolom hebt geselecteerd. Als u bijvoorbeeld klikt op Ingebouwde functies in de linkerkolom en vervolgens op een functiecategorie in de middelste kolom, ziet u in de rechterkolom een lijst van alle ingebouwde functies in de geselecteerde categorie.

U maakt een expressie door tekst te typen in het expressievak en elementen uit de andere gedeelten in de opbouwfunctie te plakken. U kunt bijvoorbeeld klikken in de kolom linksonder om de objecten in uw database weer te geven, alsmede de functies, constanten, operatoren en veelgebruikte expressies. Wanneer u klikt op een item in de linkerkolom, worden de overige kolommen hieraan aangepast. Wanneer u bijvoorbeeld klikt op de naam van een tabel in de linkerkolom, worden in de middelste kolom de velden in die tabel weergegeven. Wanneer u dubbelklikt op Functies en vervolgens klikt op Ingebouwde functies, worden in de middelste kolom alle functiecategorieën en in de rechterkolom de functies in die categorieën weergegeven. Wanneer u dubbelklikt om een functie in te voegen in uw expressie, verschijnen de functie en de tekst waarmee wordt aangegeven welke argumenten vereist zijn voor die functie, als een tijdelijke aanduiding in het expressievak. U kunt die tekst dan vervangen door de juiste argumentwaarden.

Wanneer u een id in een expressie plakt, worden alleen die onderdelen van de id ingevoegd die in de huidige context vereist zijn. Wanneer u bijvoorbeeld de opbouwfunctie voor expressies start vanuit het eigenschappenvenster van het formulier Klanten en vervolgens een id voor de eigenschap Zichtbaar van dat formulier in de expressie plakt, wordt uitsluitend de naam van de eigenschap Zichtbaar geplakt. Wanneer deze expressie buiten de context van het formulier wordt gebruikt, moet u de volledige id opgeven: Formulieren![Klanten].Zichtbaar.

De opbouwfunctie voor expressies starten in een tabel, formulier of rapport  

  1. Klik op het vak van de eigenschap of het actieargument waarin u de expressie wilt opnemen.
  2. Klik op de knop Opbouwen Afbeelding van knop naast de eigenschap.

De opbouwfunctie voor expressies starten in een query  

  1. Klik op de cel in het ontwerpraster waarin u de expressie wilt invoeren. Klik bijvoorbeeld op de cel Criteria voor de kolom waarin u criteria wilt opgeven of klik op de cel Veld voor de kolom waarin u een berekend veld wilt maken.
  2. Klik op de knop Opbouwen op de werkbalk Afbeelding van knop.

De opbouwfunctie voor expressies is een manier om dingen te zoeken en in te voegen die u zich moeilijk kunt herinneren, zoals id-namen (bijvoorbeeld velden, tabellen, formulieren en query's) en functienamen en argumenten.

Terug naar boven Terug naar boven

Expressies gebruiken om praktische redenen

In dit gedeelte maakt u kennis met een aantal manieren waarop u expressies kunt gebruiken om problemen op te lossen en vereiste informatie te berekenen voor formulieren, rapporten en tabellen.

Een nieuwe record voorzien van een stempel met de huidige datum en tijd

In sommige tabellen is het van belang om de datum of de datum en tijd bij te houden (door deze van een stempel te voorzien) waarop u een record hebt toegevoegd. Als u wilt dat deze waarde automatisch wordt ingevuld, kunt u een veld maken met het gegevenstype Datum/tijd, en de eigenschap Standaardwaarde voor het veld instellen op Date() of Now(). Als u de functie Date gebruikt, wordt de huidige datum geretourneerd zoals deze is opgeslagen in de systeemklok van de computer. Als u de functie Now gebruikt, worden de huidige datum en tijd geretourneerd.

Een datum-en-tijdstempelveld toevoegen  

  1. Klik in het databasevenster onder Objecten op Tabellen.
  2. Klik op de tabel en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de kolom Veldnaam in de eerste beschikbare lege rij.
  4. Typ een naam voor het veld, bijvoorbeeld Toevoegingsdatum.
  5. Klik in de kolom Gegevenstype en selecteer Datum/tijd.
  6. Klik op de tab Algemeen en klik in het eigenschapvak Standaardwaarde.
  7. Typ Now() of Date() en druk op TAB.
  8. Sluit de tabel. Als er wordt gevraagd of u de wijzigingen wilt opslaan, klikt u op Ja.

Wanneer u een nieuwe record toevoegt aan de tabel, wordt nu voortaan automatisch de datum of de datum en tijd ingevoegd in het veld Toevoegingsdatum.

Tekstwaarden combineren

Wanneer u de waarden in twee of meer tekstvelden wilt combineren, kunt u de ampersandoperator (&) gebruiken. Stel dat u een formulier Werknemers hebt en dat u de volledige naam van de werknemer wilt weergeven in de koptekst van het formulier. U kunt dan de voor- en achternaam van de werknemer invoeren in tekstvakken in de detailsectie.

U kunt deze expressie gebruiken om de volledige naam van een werknemer weer te geven:

=[Voornaam] & " " & [Achternaam]

Als u de tekstwaarden in twee of meer besturingelementen wilt combineren, gebruikt u de operator &. Alles wat u wilt invoegen tussen de waarden - witruimte, interpunctie of niet te wijzigen tekst - moet tussen aanhalingstekens worden geplaatst. In dit voorbeeld wordt met de tekenreeks " " één spatie ingevoegd tussen de voor- en achternaam.

Een tekstvak toevoegen met een expressie voor volledige naam  

  1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
  2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier of rapport om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Gegevens.
  7. Wijzig de eigenschap Besturingselementbron in =[Voornaam] & " " & [Achternaam] en druk vervolgens op TAB.
  8. Sluit het eigenschappenvenster.

Voor sommige records is mogelijk geen waarde ingevoerd in een veld dat u wilt combineren. De ontbrekende waarde wordt een null-waarde genoemd. Wanneer u de operator & gebruikt en een veld geen waarde heeft, wordt er een tekenreeks met een lengte van nul geretourneerd voor dat veld. Bijvoorbeeld: als de record van een werknemer alleen een achternaam bevat, wordt door de expressie in het vorige voorbeeld het volgende geretourneerd: een tekenreeks met een lengte van nul voor het veld Voornaam, een spatie en de waarde in het veld Achternaam.

Wanneer u waarden combineert, moet u een waarde zoals een komma alleen toevoegen wanneer een waarde in een bepaald veld voorkomt. Stel dat u een tabel Klant hebt en dat u de waarden in de velden Plaats, Regio en Postcode wilt combineren voor een rapport. Sommige records hebben geen waarde in het veld Regio. In dat geval wordt er een ongewenste komma weergegeven vóór de postcode als u de operator & gebruikt.

Als u deze ongewenste komma wilt verwijderen, gebruikt u de operator plus (+), zoals wordt weergegeven in de volgende voorbeeldexpressie:

=([Plaats] & (", " + [Regio]) & " " & [Postcode])

Met de operator + combineert u tekst op dezelfde manier als met de operator &. De operator + ondersteunt echter ook null-doorgifte. Dit houdt in dat als een onderdeel van een expressie null is, de volledige expressie ook null is. Zie in het vorige voorbeeld de sectie (", " + [Regio]). Aangezien de operator + wordt gebruikt, bevat de expressie tussen haakjes alleen een komma als het veld Regio een waarde bevat. Als dit veld geen waarde bevat, treedt de null-doorgifte in werking en resulteert de volledige expressie tussen haakjes in een null-waarde.

Berekende besturingselementen maken om rekenkundige berekeningen uit te voeren

U kunt expressies gebruiken om de waarden in twee of meer velden of besturingselementen op te tellen, af te trekken, te vermenigvuldigen of te delen. Stel dat u de datum vastlegt waarop een klant een order moet ontvangen en de datum waarop de order wordt verzonden. U kunt berekenen hoeveel dagen te vroeg (of te laat) een order is verzonden door de waarde in het veld Verzenddatum af te trekken van de waarde in het veld Vervaldatum. Dit is mogelijk omdat u in Access rekenkundige berekeningen kunt uitvoeren op datums.

Expressie in eigenschap Besturingselementbron waarmee Vervaldatum min Verzenddatum wordt berekend

Het resultaat van een datumberekening wordt een interval genoemd. Deze waarde bevat een datumonderdeel links van het decimaalteken, en rechts een tijdonderdeel. Als de waarde die wordt geretourneerd een positief getal is, weet u hoeveel dagen te vroeg de order is verzonden. Als de waarde negatief is, weet u hoeveel dagen te laat de order is verzonden. Als de waarde 0 is, is de order op tijd verzonden.

Een tekstvak toevoegen met een expressie om het aantal dagen te vroeg of te laat te berekenen  

  1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
  2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier of rapport om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Gegevens.
  7. Wijzig de eigenschap Besturingselementbron in =[Vervaldatum]-[Verzenddatum] en druk vervolgens op TAB.
  8. Sluit het eigenschappenvenster.

Wanneer u de operator +, , *, / of \ gebruikt om een berekening uit te voeren op twee waarden en een van de waarden null is (dat wil zeggen: er is geen waarde opgegeven), is de waarde van de expressie ook null. Bijvoorbeeld: als een van de datums in de vorige expressie null is, is de waarde van de volledige expressie ook null. In een rapport resulteert dat in witruimte. Als u de null-waarde wilt vervangen door een 0, kunt u de functie Nz gebruiken om de null-waarde om te zetten in een nul. Bijvoorbeeld:

=Nz([Vervaldatum]-[Verzenddatum],0)

 Opmerking   U kunt de velden in de tabel zo ontwerpen dat gebruikers geen null-waarden kunnen opgeven. Stel hiertoe bij het ontwerpen van de tabel de eigenschap Vereist voor dat veld in op Ja. U moet ook de eigenschap Standaardwaarde voor dat veld instellen op een niet-null-waarde.

De waarden in twee besturingselementen optellen

Het komt waarschijnlijk vaak voor dat u de waarden in twee besturingselementen wilt optellen. Bijvoorbeeld: om de totale kosten van een order te berekenen telt u de waarden in de besturingselementen Subtotaal en Vrachtkosten op, zoals wordt weergegeven in de volgende afbeelding.

Besturingselementen Subtotaal en Totaal op bestelformulier

Om het ordertotaal te berekenen maakt u een tekstvak in de detailsectie van het bestelformulier.

Een tekstvak toevoegen met een expressie om een totaal te berekenen  

  1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
  2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier of rapport om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel
    Eigenschap Instelling
    Naam Totaal
    Besturingselementbron  =[Subtotaal]+[Vrachtkosten]
    Opmaak Valuta

  8. Sluit het eigenschappenvenster.

Twee waarden vermenigvuldigen om de omzetbelasting te berekenen

Stel dat u de omzetbelasting voor een order moet berekenen en het omzetbelastingtarief is opgeslagen in het besturingselement Omzetbelasting. U vermenigvuldigt dan de waarden in het besturingselement Subtotaal met de waarde in het besturingselement Omzetbelasting om de belasting te berekenen.

Om de omzetbelasting te berekenen maakt u een tekstvak in de detailsectie van het bestelformulier.

Een tekstvak met een expressie toevoegen om de omzetbelasting te berekenen  

  1. Klik in het databasevenster bij Objecten op Formulieren of Rapporten.
  2. Klik op het formulier of rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier of rapport om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel
    Eigenschap Instelling
    Naam Omzetbelasting
    Besturingselementbron  =[Subtotaal]*[TariefOmzetbelasting]
    Opmaak Valuta

  8. Sluit het eigenschappenvenster.

Sommen en aantallen

Het komt waarschijnlijk vaak voor dat u de som moet berekenen van de waarden die zijn opgeslagen in een groep records. Bijvoorbeeld: u moet een groepstotaal berekenen voor de groepsvoettekst in een rapport, of het subtotaal van een order voor de regelitems op een formulier. Of u moet het aantal items weten in plaats van de som hiervan. Om de som van een groep records te berekenen gebruikt u de functie Som, en om te weten hoeveel items een groep records bevat gebruikt u de functie Aantal.

Bijvoorbeeld: als u wilt weten hoeveel orders een rapport bevat waarin orders zijn gegroepeerd op klant, gebruikt u de volgende expressie:

=Aantal([Order-id])

U kunt in de argumentexpressie veldnamen gebruiken voor de functies Som en Aantal, maar geen namen van besturingselementen. De veldnamen kunnen afkomstig zijn uit een tabel of query. U kunt zelfs de naam van een berekenveld uit een query gebruiken. Wanneer u echter het totaal wilt berekenen van de waarden in een berekend besturingselement, moet u de expressie die wordt gebruikt in het berekende besturingselement, herhalen in de functie.

Wanneer u op een formulier meermaals naar dezelfde expressie wilt verwijzen of wanneer u een functie wilt gebruiken zoals Som, moet u overwegen de expressie op te nemen in de onderliggende query van het formulier. De berekening kan dan worden uitgevoerd in de query in plaats van in het formulier. Het werkt vaak sneller om een berekening uit te voeren in een query.

Subtotaal van een order op een subformulier berekenen

Wanneer u een bestelformulier maakt, gebruikt u vaak een hoofdformulier en een subformulier. Het hoofdformulier en het subformulier zijn aan elkaar gekoppeld door een gemeenschappelijk veld, bijvoorbeeld Order-id. Het hoofdformulier bevat ordergegevens, zoals Factuur naar en Verzenden naar, en het subformulier bevat gegevens over de regelitems die zijn besteld, zoals product, aantal en prijs per eenheid. De informatie uit het hoofdformulier is afkomstig van een query voor onder andere de tabel Orders. De informatie in het subformulier is afkomstig van een query voor onder andere de tabel Detailgegevens orders.

Als u het subformulier baseert op een query voor onder andere een berekend veld om de factuurprijs te berekenen, kunt u de waarden in het veld Factuurprijs optellen om het subtotaal te berekenen. Om het ordersubtotaal te berekenen maakt u een tekstvak in de formuliervoettekst van het subformulier Orders.

Berekening van ordersubtotaal op subformulier

Een tekstvak met een expressie toevoegen om het ordersubtotaal op een subformulier te berekenen  

  1. Klik in het databasevenster onder Objecten op Formulieren.
  2. Klik op het subformulier en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel
    Eigenschap Instelling
    Naam OrderSubtotaal
    Besturingselementbron  =Som([Factuurprijs])
    Opmaak Valuta

  8. Sluit het eigenschappenvenster.

Hoewel met het tekstvak op het subformulier het subtotaal van de order wordt berekend, wordt de waarde alleen weergegeven op het hoofdformulier. Als u het tekstvak niet wilt weergeven op het subformulier, plaatst u het in de formuliervoettekst van het subformulier en stelt u de eigenschap Standaardweergave voor het subformulier in op Gegevensbladweergave. Een formulierkoptekst of -voettekst wordt niet weergegeven wanneer u een formulier gebruikt in de gegevensbladweergave. Tot slot voegt u het subformulier in het hoofdformulier in.

Een subformulier werkt normaal gesproken niet correct als zelfstandig formulier. Subformulieren zijn afhankelijk van een waarde in het hoofdformulier. Het subformulier blijft pas beperkt tot de juiste records nadat u het hebt ingevoegd in het hoofdformulier en hebt bepaald door welk veld de twee formulieren aan elkaar zijn gekoppeld (bijvoorbeeld Order-id). Bijvoorbeeld: wanneer u een bestelformulier gebruikt met een subformulier, beperkt u met de order-id op het hoofdformulier de records in het subformulier tot de records met dezelfde order-id.

Naar het ordersubtotaal verwijzen op een hoofdformulier

De besturingselementen op een hoofdformulier en subformulier kunnen naar elkaar verwijzen. Als u naar een waarde op een subformulier wilt verwijzen, gebruikt u een expressie. Dit wordt getoond in de volgende afbeelding.

Verwijzing naar Ordersubtotaal op ordersubformulier

Toelichting 1 De naam van het subformulierbesturingselement op het hoofdformulier

Toelichting 2 De eigenschap Formulier, die toegang biedt tot de besturingselementen en eigenschappen van het subformulier

Toelichting 3 De naam van het tekstvakbesturingselement op het subformulier

Om het ordersubtotaal weer te geven maakt u een tekstvak in de detailsectie van het bestelformulier.

Het subtotaal van een subformulier weergeven in een tekstvak in de detailsectie van het bestelformulier  

  1. Klik in het databasevenster onder Objecten op Formulieren.
  2. Klik op het formulier Orders en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar de detailsectie van het formulier om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel
    Eigenschap Instelling
    Naam Subtotaal
    Besturingselementbron  =[Subformulier Orders].Formulier![Ordersubtotaal]
    Opmaak Valuta

  8. Sluit het eigenschappenvenster.

Een waarde opzoeken in een tabel

Wanneer u een formulier ontwerpt, wilt u mogelijk een waarde weergeven uit een andere tabel of query dan waaraan het formulier is gekoppeld. Bijvoorbeeld: u hebt een formulier Producten dat is gekoppeld aan de tabel Producten. Na het ontwerpen van het formulier besluit u echter dat hierop de naam van de contactpersoon van de leverancier moet worden weergegeven. De naam van de contactpersoon van de leverancier is afkomstig uit de tabel Leveranciers.

U kunt een waarde uit een andere tabel of query opzoeken en weergeven met behulp van de functie DLookup. U geeft drie argumenten op voor de functie DLookup:

  • De naam van het veld waarvan u de waarde wilt opzoeken
  • De tabel of query waarin het veld zich bevindt
  • De criteria voor het zoeken van de record

Om de contactpersoon van de leverancier toe te voegen opent u het formulier Producten in de ontwerpweergave en voegt u een tekstvak toe met het label Contactpersoon. De expressie die u moet gebruiken voor dit tekstvak is:

=DLookup("[Contactpersoon]","[Leveranciers]","[Lever-id]=" & Formulieren!Producten!Lever-id)

Het tekstvak voor de contactpersoon van de leverancier toevoegen  

  1. Klik in het databasevenster onder Objecten op Formulieren.
  2. Klik op het formulier Orders en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het formulier om het tekstvak te maken.
  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel.
    Eigenschap Instelling
    Label Naam contactpersoon
    Besturingselementbron  =DLookup("[Contactpersoon]","[Leveranciers]","[Lever-id]=" & Formulieren!Producten!Lever-id)

  8. Sluit het eigenschappenvenster.

Met deze expressie zoekt u in de tabel Leveranciers en retourneert u de naam van de contactpersoon van de leverancier waarvan de leveranciers-id overeenkomt met de waarde in het besturingselement Lever-id op het formulier Producten. De operator & wordt gebruikt om het derde argument te maken. Een veelvoorkomende fout is dat er aanhalingstekens worden geplaatst om het volledige argument in plaats van alleen om de tekst vóór de operator &.

 Opmerking   Als alternatief voor het gebruik van de functie DLookup kunt u de onderliggende query zodanig wijzigen dat de vereiste informatie wordt opgenomen. Query's werken meestal efficiënter.

De datum afdrukken die wordt afgedrukt op een rapport

Het komt waarschijnlijk vaak voor dat u op een rapport de datum wilt afdrukken waarop het rapport is gegenereerd. Als u wilt dat deze datum automatisch wordt ingevuld, gebruikt u de functie Now of Date. Met de functie Now retourneert u de huidige datum en tijd, zoals opgeslagen in de klok van de computer. Met de functie Date retourneert u alleen de huidige datum. U kunt het resultaat van beide functies in alle gewenste beschikbare datum- en tijdnotaties weergeven.

Stel dat u een factuurrapport wilt afdrukken en dat de afdrukdatum van de factuur moet worden weergegeven in middellange datumnotatie (bijvoorbeeld 31-dec-04). Typ de expressie =Date() in de eigenschap Besturingselementbron van het tekstvak of in het tekstvak zelf.

De afdrukdatum toevoegen aan een rapport  

  1. Klik in het databasevenster onder Objecten op Rapporten.
  2. Klik op het rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar het rapport om het tekstvak te maken.

     Opmerking   Als de voettekst van de pagina niet wordt weergegeven, opent u het menu Beeld en klikt u op Paginakoptekst/Paginavoettekst.

  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschapwaarden in zoals wordt weergegeven in de volgende tabel
    Eigenschap Instelling
    Naam Afdrukdatum
    Besturingselementbron  =Date()
    Opmaak Middellange datumnotatie

  8. Sluit het eigenschappenvenster.

Het paginanummer afdrukken op een rapport

Wanneer u een rapport ontwerpt dat langer is dan één pagina, wilt u waarschijnlijk paginanummers toevoegen. U kunt dit doen met behulp van de eigenschap Pagina. De pagina's worden dan automatisch genummerd wanneer u een voorbeeld weergeeft van het rapport of dit afdrukt. De eigenschap Pagina is alleen beschikbaar wanneer u een voorbeeld weergeeft van een rapport of dit afdrukt. De eigenschap verschijnt dus niet in het eigenschappenvenster.

U gebruikt de eigenschap Pagina in de eigenschap Besturingselementbron van een tekstvak op precies dezelfde manier als een functie zoals Now of Date. Plaats het tekstvak in de paginakoptekst of -voettekst van het rapport. (Voeg geen haakjes toe na de eigenschap Pagina.)

Pagina-expressie in paginavoettekst

U kunt een expressie maken die gebruikmaakt van zowel de eigenschap Pagina als van de eigenschap Pagina's. Als u de eigenschap Pagina's gebruikt, wordt het totaal aantal pagina's in het rapport geretourneerd. Met de volgende expressie genereert u bijvoorbeeld een paginanummering met de notatie Pagina 1 van 10.

="Pagina " & [pagina] &" van " & [pagina's]

Het voorgaande opmaakprofiel voor paginanummering toevoegen aan een rapport  

  1. Klik in het databasevenster onder Objecten op Rapporten.
  2. Klik op het rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Tekstvak.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar de paginavoettekstsectie van het rapport om het tekstvak te maken.

     Opmerking   Als de voettekst van de pagina niet wordt weergegeven, opent u het menu Beeld en klikt u op Paginakoptekst/Paginavoettekst.

  5. Klik in het tekstvak om het te selecteren.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Gegevens.
  7. Wijzig de waarde in het eigenschapvak Besturingselementbron in ="Pagina " & [pagina] &" van " & [pagina's].
  8. Sluit het eigenschappenvenster.

 Opmerking   De opbouwfunctie voor expressies bevat een aantal veelgebruikte expressies die u kunt gebruiken voor paginanummering

Een deel van een waarde afdrukken op een rapport

Als de eerste of laatste paar tekens in een veld een speciale betekenis hebben, kunt u een rapport op basis hiervan ordenen. Als bijvoorbeeld de eerste twee tekens in een product-id-code aangeven om welk type product het gaat, kunt u de producten groeperen op de eerste twee tekens in de code en elke groep vervolgens identificeren door de tekens af te drukken in de groepskoptekst.

U gebruikt de functie Left om de eerste n tekens van een waarde in een tekstveld op te halen, en de functie Right om de laatste n tekens op te halen. In beide gevallen is het eerste argument de veldnaam of tekstexpressie, en het tweede argument het aantal tekens dat u wilt ophalen.

In de volgende tabel worden expressies weergegeven die gebruikmaken van deze functies.

Waarde in Onderdelen-id Expressie Retourwaarde
AA105 =Left([Onderdelen-id],2) AA
AA105 =Right([Onderdelen-id],3) 105

Letters gebruiken als scheidingsteken in een alfabetische lijst

Voor een snelle identificatie in een lijst met producten kunt u de producten groeperen op de eerste letter van hun naam en deze letter afdrukken in de groepskoptekst, zoals weergegeven in de volgende afbeelding.

Rapport met groepering op eerste letter van productnaam

Als u elke keer dat de eerste letter van de productnaam wordt gewijzigd, een nieuwe groep wilt starten en vervolgens de producten in elke groep alfabetisch wilt sorteren, stelt u de eigenschappen in het vak Sorteren en groeperen in zoals wordt weergegeven in de volgende tabel.

Veld/expressie Sorteervolgorde Groepskoptekst Groepsvoettekst Groeperen op Groepeerinterval Bijeenhouden
Productnaam Oplopend Ja Ja Begintekens  1 Hele groep
Productnaam Oplopend Nee Nee Elke waarde 1 Nee

Het venster Sorteren en groeperen weergeven

  1. Open het rapport in de ontwerpweergave.
  2. Klik op Sorteren en groeperen in het menu Beeld (of klik op Sorteren en groeperen Afbeelding van knopop de werkbalk).

Als u alleen de eerste letter van de naam wilt afdrukken aan het begin van een nieuwe groep, gebruikt u deze expressie in het tekstvak in de koptekst Productnaam:

=Left([Productnaam],1)

Het numerieke equivalent van een datum afdrukken

U kunt de records in een rapport op de numerieke waarden ordenen voor een bepaalde periode - bijvoorbeeld een jaar, kwartaal, maand of week. Een jaar is bijvoorbeeld opgesplitst in 53 kalenderweken. (De eerste en laatste week van het jaar zijn vaak geen volledige weken.) De numerieke waarde voor de week van 18-dec-94 tot 24-dec-94 is bijvoorbeeld 52. Met deze numerieke waarden kunt u de orders die zijn verzonden, groeperen op de week van het jaar.

Als u de numerieke waarde van een datum wilt zoeken, gebruikt u de functie DatePart. De notatie voor deze functie is:

DatePart(interval, datum)

Het argument interval is de afkorting voor het gedeelte van de datum dat moet worden geretourneerd. Voorbeelden van geldige afkortingen zijn 'jjjj' voor een jaar van vier cijfers, 'q' voor een kalenderkwartaal en 'm' voor een maand. Het argument datum is een veldnaam of een letterlijke datum, zoals '1-jul-94'.

 Opmerking   U kunt eventueel twee argumenten toevoegen aan de functie DatePart - een voor de eerste dag van de week en de andere voor de eerste week van het jaar. In deze argumenten kunt u de waarden accepteren die zijn ingesteld met de weergaveopties eersteweekdag en eersteweek, of u kunt zelf waarden opgeven.

In de volgende tabel vindt u voorbeelden van de resultaten die zijn geretourneerd voor een veld met de naam Feestdagen. In het veld Feestdagen kunt u de feestdagen opslaan van de landen waar uw bedrijf zakendoet.

Waarde in Feestdagen Expressie Retourwaarde
1-jan-94 =DatePart("w",[Feestdagen]) 7 (dag van de week)
31-dec-94 =DatePart("ww",[Feestdagen]) 53 (week van het jaar)
31-dec-94 =DatePart("jjjj",[Feestdagen]) 1994 (jaar van vier cijfers)

Als u meer wilt weten over het maken van gegroepeerde rapporten, raadpleegt u het artikel Create a grouped or summary report.

De resultaten van meerdere jaren vergelijken

Wanneer u de verkoopresultaten van meer dan een jaar wilt analyseren, kunt u de resultaten het beste groeperen op een bepaalde periode, zoals per kwartaal of per maand. U kunt dan snel zien hoe de prestaties voor een bepaalde periode in het ene jaar waren in vergelijking met die voor dezelfde periode in een ander jaar. Stel dat u een rapport Omzet per kwartaal wilt genereren met het aantal orders dat is verzonden en de verkooptotalen.

Rapport Omzet per kwartaal

Om de groepskopteksten en -voetteksten te maken en de sorteervolgorde op te geven voor dit rapport, stelt u de eigenschappen in in het vak Sorteren en groeperen, zoals wordt weergegeven in de volgende tabel. U gebruikt een expressie om te groeperen op het kwartaal waarin de orders zijn verzonden.

Veld/expressie Sorteervolgorde Groepskoptekst Groepsvoettekst Groeperen op Groepeerinterval Bijeenhouden
=DatePart("q",
[Verzenddatum])
Oplopend Ja Ja Elke waarde 1 Ja
Verzenddatum Oplopend Nee Ja Jaar 1 Nee
Verzenddatum Oplopend Nee Nee Elke waarde 1 Nee
Order-id Oplopend Nee Nee Elke waarde 1 Nee

Het venster Sorteren en groeperen weergeven

  1. Open het rapport in de ontwerpweergave.
  2. Klik op Sorteren en groeperen in het menu Beeld (of klik op Sorteren en groeperen Afbeelding van knopop de werkbalk).

Als u het kwartaalnummer wilt afdrukken aan het begin van een nieuwe groep, plaatst u een tekstvak in de groepskoptekst met behulp van dezelfde expressie als u hebt gebruikt in het vak Sorteren en groeperen:

=DatePart("q", [Verzenddatum])

Totalen van regelitems berekenen

Stel dat u een factuurrapport wilt met informatie over een order. U moet dan de factuurprijs (de totale verkoop voor elk product) voor regelitems berekenen. U maakt eerst een query waarmee u de gegevens voor het rapport ophaalt. In deze query neemt u alle velden op die u nodig hebt uit alle tabellen die u nodig hebt, zoals de tabel Orders, de tabel Detailgegevens orders en de tabel Klanten. Vervolgens kunt u een berekend veld maken in het queryontwerpraster, waarmee de factuurprijs wordt berekend voor elk product op de factuur.


Berekende velden maken  

  1. Klik in het databasevenster onder Objecten op Query's.
  2. Klik op de query en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de rij Veld van een lege kolom in het queryontwerpraster.
  4. Typ een naam, een dubbele punt (:) en een expressie in de cel Veld. Om de factuurprijs te berekenen kunt u bijvoorbeeld de volgende expressie gebruiken:

    Factuurprijs: CCur([Detailgegevens order].PrijsPerEenheid*[Hoeveelheid]*(1-[Korting])/100)*100

    Wanneer u een berekend veld maakt in het queryontwerpraster, moet u de expressie niet laten voorafgaan door de operator =.


Orders identificeren die te laat zijn verzonden

Onder goede omstandigheden worden orders op tijd verzonden. Af en toe komt het voor dat orders pas na de vervaldatum worden verzonden, en u wilt deze orders identificeren in een rapport. Als u in een rapport waarmee u verzendingen bijhoudt alle orders wilt markeren die te laat zijn verzonden, kunt u een vinkje afdrukken in een selectievakje met het label Te laat verzonden. Aangezien de meeste orders op tijd worden verzonden, is een selectievakje makkelijker te zien dan tekst als Op tijd en Te laat.

Met de expressie voor dit rapport wordt de waarde in het veld Verzenddatum vergeleken met de waarde in het veld Vervaldatum. Als de waarde in het veld Verzenddatum groter is (dat wil zeggen: later valt) dan de waarde in het veld Vervaldatum, wordt de waarde Waar geretourneerd en verschijnt er een vinkje in het selectievakje. Als de waarde Onwaar is, verschijnt er geen vinkje.

Het selectievakje Te laat verzonden toevoegen aan een rapport  

  1. Klik in het databasevenster onder Objecten op Rapporten.
  2. Klik op het rapport en klik vervolgens op Ontwerpen in het databasevenster.
  3. Klik in de werkset op het hulpmiddel Selectievakje.

     Opmerking   Als de werkset niet wordt weergegeven, opent u het menu Beeld en klikt u op Werkset.

  4. Sleep de aanwijzer naar de detailsectie van het rapport om het selectievakje te maken.
  5. Klik op het selectievakje om het te in te schakelen.
  6. Klik in het menu Beeld op Eigenschappen en klik vervolgens op de tab Alle.
  7. Stel de eigenschappen van het selectievakje in zoals wordt weergegeven in de volgende tabel.
    Eigenschap Instelling
    Naam Te laat verzonden
    Besturingselementbron  =[Verzenddatum]>[Vervaldatum]
    Zichtbaar Ja

  8. Sluit het eigenschappenvenster.

Terug naar boven Terug naar boven

Tabel met operatoren

In Access wordt een breed scala operatoren ondersteund, waaronder rekenkundige operatoren zoals +, -, * (vermenigvuldigen), / (delen), alsmede vergelijkingsoperatoren voor het vergelijken van waarden, tekstoperatoren, tekstoperatoren voor het samenvoegen van tekst, logische operatoren om te bepalen of waarden waar of onwaar zijn, en andere operatoren die specifiek zijn voor Access. Zie voor meer informatie over het gebruik van deze operatoren de volgende gedeelten:

Rekenkundige operatoren

U gebruikt de rekenkundige operatoren om een waarde te berekenen op basis van twee of meer getallen, of om het teken van een getal te wijzigen van positief in negatief.

Operator Doel Voorbeeld
+ Som van twee getallen. [Subtotaal]+[Omzetbelasting]
- Het verschil tussen twee getallen zoeken of de negatieve waarde van een getal aangeven. [Prijs]-[Korting]
* Twee getallen vermenigvuldigen. [Hoeveelheid]*[Prijs]
/ Het eerste getal delen door het tweede getal. [Totaal]/[ItemCount]
\ Beide getallen afronden op een geheel getal, vervolgens het eerste getal delen door het tweede getal. Het resultaat afkappen tot een geheel getal. [Geregistreerde]\[Kamers]
Mod Het eerste getal delen door het tweede getal en alleen het restgetal retourneren. [Geregistreerde] Mod [Kamers]
^ Een getal verheffen tot de macht van een exponent. Getal ^ Exponent

Vergelijkingsoperatoren

U gebruikt de vergelijkingsoperatoren om waarden te vergelijken en een resultaat te retourneren dat waar, onwaar of null is.

Operator Doel
< Bepalen of de eerste waarde lager is dan de tweede waarde.
<= Bepalen of de eerste waarde lager is dan of gelijk is aan de tweede waarde.
> Bepalen of de eerste waarde hoger is dan de tweede waarde.
>= Bepalen of de eerste waarde hoger is dan of gelijk is aan de tweede waarde.
= Bepalen of de eerste waarde gelijk is aan de tweede waarde.
<> Bepalen of de eerste waarde niet gelijk is aan de tweede waarde.

In alle gevallen geldt dat als de eerste of de tweede waarde null is, het resultaat ook null is. Aangezien null staat voor een onbekende waarde, is ook het resultaat van een vergelijking met null onbekend.

Logische operatoren

U gebruikt de logische operatoren om twee waarden te combineren en een waar, onwaar of null-resultaat te retourneren. De logische operatoren worden ook wel Booleaanse operatoren genoemd.

Operator Gebruik Beschrijving
And Expr1 And Expr2 Waar wanneer Expr1 en Expr2 waar zijn.
Or Expr1 Or Expr2 Waar wanneer ofwel Expr1 ofwel Expr2 waar is.
Eqv Expr1 Eqv Expr2 Waar wanneer zowel Expr1 als Expr2 waar zijn of zowel Expr1 als Expr2 onwaar zijn.
Not Not Expr Waar wanneer Expr niet waar is.
Xor Expr1 Xor Expr2 Waar wanneer ofwel Expr1 ofwel Expr2 waar is, maar niet beide.

Aaneenschakelingsoperatoren

U gebruikt de aaneenschakelingsoperatoren om twee tekstwaarden te combineren tot een.

Operator Gebruik Beschrijving
& string1 & string2 Hiermee combineert u twee tekenreeksen tot een.
+ string1 + string2 Hiermee combineert u twee tekenreeksen tot een, en geeft u null-waarden door.

Speciale operatoren

U gebruikt de speciale operatoren zoals wordt beschreven in de volgende tabel.

Operator Beschrijving Voor meer informatie
Is (Not) Null Hiermee bepaalt u of een waarde null is of niet.
Like, patroon Hiermee retourneert u overeenkomende tekenreekswaarden met behulp van de jokertekens ? en *. Like, operator
Between val1 And val2 Hiermee bepaalt u of een numerieke of datumwaarde binnen een bereik valt. Between...And, operator
In(string1,string2...) Hiermee bepaalt u of een tekenreekswaarde zich in een set tekenreekswaarden bevindt. In, operator

Terug naar boven Terug naar boven

advertentie