2. Gegevens opvragen

Een intensief gebruikte gegevensbank wordt al vlug erg groot – en dan heb je technieken nodig om gegevens snel op te vragen en te ordenen.

2.1. Zoeken en vervangen

Opzoeken kan ondermeer in een tabel of query in gegevensbladweergave of in een formulier.

  1. Open de tabel, query of formulier en klik in het veld waarin je iets wil opzoeken.
  2. Klik op het lint Start op de knop Zoeken.
  3. Vul de zoekterm in en controleer de opties:
    • Zoeken in: huidig veld of in de hele tabel;
    • Waar: de zoekterm is de hele inhoud, een deel ervan of het begin ervan;
    • Zoeken: de zoekrichting is omhoog, omlaag of allebei;
    • Identieke hoofdletters/kleine letters: zoek naar de term met dezelfde hoofd- en kleine letters, zoals ze getypt werden.
  4. Klik op Volgende Zoeken om het zoekproces te starten.

Naast knop Zoeken vind je Vervangen, dat gelijkaardig verloopt, alleen zal je nu de gevonden term vervangen door iets anders.

Verder kan je in de zoekterm jokertekens gebruiken:

jokerbetekenisvoorbeeld
?één willekeurig tekenDa?ns vindt Daans en Daens maar niet Dalens
*meer willekeurige tekensDa* vindt Daans, Dalens, Davignon, enz.
#één willekeurig cijfer3## vindt alle nummers van 300 tot 399
[ ]elk teken tussen [ ] kn[ae]l vindt knal en knel, niet knol of knul
Met optie Begin van Veld vindt [B-D] alle termen die beginnen met B, C of D.

2.2. Sorteren en filteren

Of je de records op volgorde ingeeft of niet, in Access kan je heel gemakkelijk sorteren:

  1. Open de tabel of query in gegevensbladweergave.
  2. Klik ofwel op het lint Start op de gewenste sorteerknop ofwel op het pijltje aan de kolomhoofding en daar op de gewenste volgorde.

Om een deelverzameling met gelijkaardige kenmerken uit de hele tabel of query af te zonderen, kan je filteren – of een aparte query maken, zie 2.4.

De gemakkelijkste manier om te filteren verloopt net zo als in Excel: klik op het pijltje aan de kolomhoofding en schakel onderaan de nodige vinkjes aan of uit.
Bovendien kan je bij Tekstfilter (of Getalfilter, afhankelijk van het veldtype) meer geavanceerde filtervoorwaarden instellen.
Je kan ook rechtsklikken op een waarde en daar je filtervoorwaarde kiezen.

Een filter weer verwijderen kan je eveneens via het pijltje aan de kolomhoofding ofwel via de knop Filter In-/Uitschakelen op het lint Start.

Zijn deze eenvoudige filtervoorwaarden onvoldoende? Maak een formulierfilter.

  1. Klik in gegevensblad- of formulierweergave op lint Start bij Geavanceerd op Formulierfilter.
  2. Klik in het eerste veld waarop je filteren; er verschijnt een pijltje aan het veld om op waarden te filteren.
  3. Typ het filtercriterium. In een veld Familienaam bijvoorbeeld:
    • Van* betekent: zoek alle namen die met "Van" beginnen
    • >=V betekent: geef alle namen van degenen die beginnen met "V"
    • <>Jans betekent: geef alle namen behalve "Jans"
    • Me?er betekent: zoek alle namen van de vorm "Me" + één willekeurig teken + "er"
  4. Als je een tweede voorwaarde opgeeft in een ander veld, moeten de records aan beide voorwaarden voldoen (EN-criteria).
    • Voor een OF-criterium klik je onderaan op bladtab Of.
  5. Klik op lint Start op optie Filter In/Uitschakelen om de records die aan de voorwaarde(n) voldoen uit het geheel te filteren.
    • Gebruik dezelfde knop om het toegepaste filter terug op te heffen.

Heb je telkens opnieuw hetzelfde filter nodig? Maak dan een query.

2.3. Indexeren

Als Access bv. een familienaam moet opzoeken, moet het alle programma alle records doorlopen tot het gevraagde gevonden is.
Zit de naam niet in de tabel, dan moet Access toch de hele tabel doorlopen alvorens de boodschap "niet gevonden" verschijnt.
Om zoekacties te versnellen, kan je een veld indexeren.

Helaas, indexen hebben ook een nadeel: bij elke wijziging in de tabelgegevens worden alle indexen volledig terug opgebouwd.
Beperk je dus best tot velden waarop je werkelijk veel sorteer- of zoekacties zal uitvoeren.

De primaire sleutel is standaard geïndexeerd, dat moet je niet zelf instellen. Die primaire sleutel moet ook uniek zijn en het veld mag nooit leeg zijn.

Als een veldnaam begint of eindigt met id, sleutel, code, getal zal Access automatisch een index voor dat veld voorzien.
Niet tevreden met deze regeling? Kies bij BestandOpties het venster Ontwerpfuncties Voor Objecten en pas de lijst aan bij AutoIndex Bij Importeren/Maken.

2.3.1. Enkelvoudige Index

Je maakt een enkelvoudige index, d.w.z. een index op één veld, in ontwerpweergave:

  1. Open de tabel in ontwerpweergave, bv. rechtsklik op de tabel in het navigatiepaneel en kies Ontwerpweergave.
  2. Klik in het veld dat je wil indexeren en dan onderaan bij de veldeigenschappen in vak Geïndexeerd.
  3. Klik op het pijltje dat rechts van het veld verschenen is en maak je keuze:
    • Nee: maak toch maar geen index op dit veld;
    • Ja (Duplicaten OK): maak een index en twee records met dezelfde waarde in dit veld zijn toegelaten;
    • Ja (Geen Duplicaten): maak een index en er mogen geen twee records dezelfde waarde in dit veld krijgen.

2.3.2. Meervoudige Index

Probleem: ik heb familie- en voornaam over twee velden gesplitst, maar ik wil opzoeken op voor- en familienaam samen.
Oplossing: leg een meervoudige index op beide velden samen.

  1. Open de tabel in ontwerpweergave, bv. rechtsklik op de tabel in het navigatiepaneel en kies Ontwerpweergave.
  2. Klik op het lint Hulpmiddelen voor Tabellen op de knop Indexen.
    • De eerste index is PrimaryKey, die blijft gewoon staan. Eronder kan je eigen indexen definiëren.
  3. In het eerste kolommetje geef je de nieuwe index een duidelijke naam, liefst met "i" of "index" erin (bv: inaam of naamindex).
  4. Kies in de keuzelijst Veldnaam het eerste veld (hoofdvolgorde) en in het vakje eronder de tweede veldnaam (subvolgorde).
  5. Standaard is de sorteervolgorde oplopend, maar aflopend is eveneens mogelijk.
  6. Controleer de indexeigenschappen:
    • Alleen de PrimaryKey is primair;
    • Uniek: er mogen geen twee records dezelfde waarde bevatten in beide indexvelden samen
    • Null-waarden negeren: bij Ja worden records waar deze velden leeg zijn niet mee opgenomen in de index.
  7. Sluit het indexvenster om de index effectief in te stellen.

2.4. Query's

Een query is in feite een filter die je opslaat en telkens opnieuw gebruikt. Het is een handige methode om gegevens te sorteren, combineren en selecteren.
Een query bevat zelf nooit gegevens, maar gebruikt de data uit de onderliggende tabel(len). Telkens je een query opent, wordt de querydefinitie gebruikt om de gewenste records op te halen. Het resultaat heet een dynaset.
Pas je de gegevens in zo'n dynamische subset aan, dan worden ze ook in de onderliggende tabel(len) veranderd.

Access biedt je QBE, query by example, een grafische manier om query's samen te stellen, waarin je de velden naar het juiste vakje sleept.
Het is ook mogelijk om rechtstreeks opdrachten in SQL (structured query language) in te typen, zie 6.4.

2.4.1. Selectiequery

Je gebruikt selectiequery's om gegevens op te vragen zonder wijziging. Het is de eenvoudigste en meest gebruikte queryvorm. Dikwijls dienen ze als bron voor formulieren en rapporten.

Op het lint Maken zie je twee manieren om een query op te stellen:

  • Met de Wizard Query stel je op eenvoudige wijze een query samen, maar je hebt niet veel overzicht.
  • Queryontwerp geeft je een queryvenster in ontwerpweergave – en heel veel mogelijkheden.

Meestal maak je een query als volgt:

  1. Activeer lint Maken en klik op de knop Queryontwerp.
  2. Voeg de tabellen toe waaruit je velden wil gebruiken en sluit het tabelvenstertje.
    • Je kan het altijd later terug oproepen via knop Tabel Weergeven op het lint Hulpmiddelen voor query's.
    • Pas op: de tabellen die je in het ontwerp opneemt moeten gerelateerd zijn, d.w.z. er moeten pijltjes tussen de tabellen verschijnen, anders krijg je een onjuist resultaat.
  3. Voeg de velden toe aan het ontwerpraster. Mogelijke methodes:
    • dubbelklik op het veld of klik erop en sleep het naar het raster onderaan;
    • klik in een leeg vakje op de eerste rij van het raster en kies het veld in de keuzelijst;
    • dubbelklik op de asterisk om alle velden tegelijk toe te voegen;
    • selecteer een lijst: klik op het eerste veld, houd Shift in en klik op het laatste veld. Daarna kan je de lijst naar het raster slepen;
    • selecteer willekeurige velden: klik op het eerste veld en houd Ctrl in terwijl je op de volgende velden klikt. Daarna kan je de lijst naar het raster slepen.
    In plaats van een veldnaam kan je hier ook een expressie zetten, die je opbouwt via knop Opbouwfunctie op het lint Hulpmiddelen voor query's.
  4. Kies eventueel op rij 3 een sorteervolgorde; de meest linkse volgorde is de hoofdvolgorde.
  5. Op rij 4 stel je in of een veld getoond wordt of niet; er zijn bv. velden die alleen als voorwaarde opgenomen worden.
  6. Alle criteria die je ingeeft op rij 5 zijn EN-voorwaarden, op rij 6 komen OF-voorwaarden.
    • Enkele voorbeelden van criteria: Ja (in een boolean veld), Like "B*" (alle veldinhouden die beginnen met B) of <2000 (minder dan 2000)
    • Zie ook 2.5. Expressies
  7. Klik op de eerste knop van het hulplint om over te schakelen naar de Gegevensbladweergave en het resultaat te bewonderen.
    • Klik op diezelfde knop om verder te gaan in Ontwerpweergave.
  8. Bewaar de query: sluit het queryvenster of rechtsklik op tab Query1 en kies Opslaan. Daarna vraagt Access je een naam voor de query.

Klik in ontwerpweergave op de bovenrand van een kolom en sleep om de veldvolgorde aan te passen of druk DELETE om dat veld te verwijderen.

Rechtsklik op een veldnaam in het raster en kies Eigenschappen voor meer opties:

  • Beschrijving: verschijnt in gegevensbladweergave op de statusbalk
  • Notatie: klik in het vak en kies een notatie uit de lijst of vul er zelf eentje in
  • Invoermasker: beperk de ingave van nieuwe waarden met een masker uit de lijst of vul zelf in
  • Bijschrift: verschijnt als kolomkop in gegevensbladweergave
  • Tekstopmaak: (elders) opgemaakte tekst wordt met of zonder die opmaak getoond

Tip: zorg dat een query met velden uit meer tabellen altijd een AutoLookup-query is: kies als sleutelveld NIET de primaire sleutel maar de verwijssleutel in de mastertabel, bv. als verbinding tussen een tabel ARTIKELS en BESTELLING kies je de artikelID uit tabel Bestelling en niet de sleutel uit tabel Artikels.

2.4.2. Bewerkingen in query's

In Access zal je berekende waarden niet opslaan in tabellen, maar laten berekenen op het moment dat je ze nodig hebt. Praktisch betekent dat ofwel rechtstreeks in een formulier of rapport, ofwel als extra veld in de onderliggende query. We bekijken hier die laatste methode.

Een berekening wordt uitgedrukt in een expressie: een combinatie van veldnamen, constanten, operatoren en/of functies. Expressies komen o.a. voor in query's, formulieren en rapporten (zie ook 2.5.).

Een veldnaam staat tussen vierkante haken [ ] en als er velden uit verschillende tabellen in de expressie zitten, komt de tabelnaam erbij: [tabelNaam].[veldNaam]

Een constante is een letterlijke waarde. Getallen typ je gewoon, tekst staat tussen dubbele aanhalingstekens en datum/tijd-waarden staan tussen hashtags #.

Om een berekening uit te voeren of een tekstexpressie op te bouwen heb je verder nog operatoren en/of functies nodig, zie 2.5.

bv: je hebt een veld [Prijs] en je wil 10% korting berekenen op alle prijzen. Dan komt als expressie in een leeg veld: Korting: [Prijs]*0,1
waarbij voor de dubbelepunt een titel voor het veld komt en erna de berekening zelf.

Bovendien ben je niet verplicht om elke berekening zelf in te typen: klik in het veld en dan op de knop Opbouwfunctie op lint Hulpmiddelen voor query's.

2.4.3. Parameterquery's

Telkens een parameterquery geopend wordt, moet de gebruiker een filterwaarde opgeven (bv. klantnaam) vooraleer de query uitgevoerd wordt.

De vraag naar die waarde typ je tussen vierkante haken in het criteriumvak bij het juiste veld, bv: [Typ de naam van de klant]

Je kan zelfs een parameter voorzien in een berekend veld, bv. om alle waarden te zien vanaf een bepaalde datum komt als expressie in het berekend veld:
Startdatum: Format([Vul de begindatum in];"dd/mm/yyyy")

Je kan meer parametervragen verwerken in één query; dan worden ze in volgorde gesteld van links naar rechts.
Of wil je een andere volgorde opgeven?

  1. Klik op lint Hulpmiddelen Voor Query's in het rechterdeel op Parameters.
  2. Typ in de eerste kolom de vragen zonder vierkante haken in de juiste volgorde.
  3. In de tweede kolom kan je het gegevenstype opgeven dat je als resultaat wil, dan heb je geen conversiefuncties nodig.

2.4.4. Samenvattingsquery's

Geregeld wil je bv. een minimum- of maximumwaarde per categorie, waarbij de gegevens samengevat worden per categorie en daarop een totaal berekend wordt.

Voor een eenvoudige query of een tabel kan je daarvoor in Gegevensbladweergave werken:

  1. Open de query of tabel in Gegevensbladweergave.
  2. Klik op het lint Start op knop totalen en onderaan de tabel of query verschijnt een lege rij.
  3. Klik in een vak van die lege rij en er verschijnt een pijltje, dat toegang geeft tot een keuzelijst met de mogelijke totalen die je kan berekenen: vak
    • Voor een numeriek veld bestaat de keuze uit: Som, Gemiddelde, Aantal, Maximum, Minimum, Standaarddeviatie en Variantie. Bij tekst kan je enkel het aantal ingevulde waarden tellen.

Totalenquery

Een speciale versie van de selectiequery's zijn de totalenquery's, waarin je een som, gemiddelde, enz. kan berekenen.

  1. Maak of open de query in ontwerpweergave.
  2. Klik op de knop Totalen op lint Hulpmiddelen voor query's.
    • In het queryraster verschijnt rij Totaal als derde rij.
  3. Kies de gewenste statistische berekening of expressie in de keuzelijst:
    • Group by (standaard): definieer het veld als groepeerveld
    • Som: totaal van alle waarden in dat numerieke veld
    • Gem: gemiddelde van alle waarden in dat numerieke veld
    • Min: de laagste waarde in dat veld
    • Max: de hoogste waarde in dat veld
    • Aantal: aantal records waarbij dat veld ingevuld is
    • StDev: de standaarddeviatie (= afwijking van het gemiddelde) van de waarden in dat numerieke veld
    • Var: de variantie (= maat voor de spreiding) van de waarden in dat numerieke veld
    • Eerste: veldwaarde van het eerste record
    • Laatste: veldwaarde van het laatste record
    • Expressie: om een berekend veld te maken
    • Waar: de veldwaarden moeten voldoen aan de voorwaarde(n) in rij Criteria.

Kruistabelquery

Zoals in een draaitabel van Excel gebruik je kruistabelquery's om grote hoeveelheden gegevens samen te vatten en overzichtelijk te presenteren.
Een kruistabelquery bevat zowel rij- als kolomhoofdingen en elke waarde in een cel heeft betrekking op twee kenmerken.
Gegevens in de dynaset van een kruistabelquery zijn per definitie berekende waarden.

Werkwijze:

  1. Maak een query met de beide velden waarop je wil groeperen en het veld dat de waarden bevat waarop berekend moet worden.
  2. Klik op lint Hulpmiddelen voor query's op querytype Kruistabel.
  3. In het raster verschijnen twee extra rijen:
    • rij Kruistabel waarin je de rol van het veld bepaalt: rijkop, kolomkop of waarde;
    • rij Totaal waar je bij het veld met Waarde de juiste totalenfunctie kiest.

Rijkop en kolomkop mag je normaal zonder problemen wisselen.
Het enige verschil is, dat je de kolomkoppen een eigen volgorde kan geven, de rijkoppen niet.
Zowel rij- als kolomkoppen worden namelijk automatisch alfabetisch gesorteerd en dat is bv. bij de maanden geen goed idee: dan ligt april voor januari ...

Wil je de volgorde (of het aantal) van de kolomkoppen aanpassen?

  1. Rechtsklik in de achtergrond van het queryvenster (langs de tabellen) en kies Eigenschappen in het snelmenu.
  2. Rechts op het scherm verschijnt het eigenschappenvenster van de query. Vul bij Kolomkoptekst de waarden in, gescheiden door puntkomma.

2.4.5. Actiequery

Met een actiequery kan je gegevens toevoegen, bewerken, verwijderen. Je ziet de mogelijkheden op lint Hulpmiddelen voor query's.
Pas op: actiequery's zijn onomkeerbaar, eenmaal uitgevoerd kan je de actie niet ongedaan maken.

Tabelmaakquery

Doel: maak een nieuwe tabel met gegevens uit andere, bestaande tabellen.

  1. Activeer lint Maken en klik op de knop Queryontwerp.
  2. Maak een selectiequery met alle velden en gegevens die je in de nieuwe tabel wil opnemen.
    • Queryvelden waar optie Weergeven uitgeschakeld is, komen niet in de nieuwe tabel.
  3. Klik op de knop Tabel maken, typ een naam voor de nieuwe tabel, kies de huidige of een andere database en klik OK.
  4. Klik op de knop Uitvoeren. Klaar.

Toevoegquery

Doel: voeg gegevens uit één of meer tabellen toe aan een andere tabel.

  1. Activeer lint Maken en klik op de knop Queryontwerp.
  2. Maak een selectiequery met alle velden en gegevens die je aan een andere (bestaande) tabel wil toevoegen.
    • Neem geen Autonummering-velden in een toevoegquery op; ze veroorzaken geregeld fouten.
  3. Klik op de knop Toevoegen, kies de tabel waaraan de records toegevoegd moeten worden en klik OK.
  4. Klik op de knop Uitvoeren. Klaar.

Alleen velden met dezelfde veldnaam worden zeker correct gekopieerd, velden met hetzelfde gegevenstype maar een andere naam worden soms correct gekopieerd.

Bijwerkquery

Doel: wijzig de gegevens volgens de criteria die in de query opgegeven worden.

  1. Activeer lint Maken en klik op de knop Queryontwerp.
  2. Maak een selectiequery met het veld waarin gegevens aangepast moeten worden en voeg het criterium toe.
    • Controleer in gegevensbladweergave dat de juiste records opgehaald werden.
  3. Klik op de knop Bijwerken.
  4. Typ de nieuwe waarde bij het juiste veld in de extra rij Wijzigen In en klik op Uitvoeren.

Verwijderquery

Doel: wis records uit de tabel(len) volgens de opgegeven criteria.

  1. Activeer lint Maken en klik op de knop Queryontwerp.
  2. Maak een selectiequery met enkel het criteriumveld en controleer in gegevensbladweergave dat die inderdaad de records bevat die je definitief wil wissen.
  3. Klik op de knop Verwijderen en dan op Uitvoeren.

Heb je referentiële integriteit afgedwongen, dan worden niet alleen de records uit de hoofdtabel gewist, maar ook die in de gerelateerde tabel(len).

2.4.6. De query-eigenschappen

Klik zonodig op Eigenschappenvenster op lint Hulpmiddelen voor query's, zodat je rechts op het scherm het eigenschappenvenster ziet.
Staat de cursor in een veldnaam in het queryvenster, dan zie je de veldeigenschappen:

  • Beschrijving: verschijnt in gegevensbladweergave op de statusbalk;
  • Notatie: kies of typ een notatie voor de waarde, zoals bij de veldeigenschappen (zie 1.3);
  • Invoermasker: beperk de ingave van nieuwe waarden met een masker uit de lijst of vul er zelf eentje in;
  • Bijschrift: verschijnt als kolomkop in de gegevensbladweergave;

Klik in een leeg deel van het queryvenster en je kan de query-eigenschappen aanpassen:

  • Beschrijving: omschrijving voor de query
  • Standaardweergave: de query opent als gegevensblad (standaard), draaitabel of draaigrafiek
  • Alle Velden Weergeven: wel of niet alle velden uit de brontabel(len) opnemen in de query
  • Top-Waarden: maximum aantal rijen in de dynaset; standaard Alles, maar ook bv. maximum 5 rijen of de eerste 10% van de resultaatrecords
  • Unieke Waarden: de dynaset toont dubbels (standaard) of enkel unieke waarden
  • Unieke Records: als er een dubbel record in de tabel zit, wordt dat wel (standaard) of niet getoond
  • Brondatabase: database opgeven voor alle query's; standaard de huidige
  • Bronverbindingsreeks: toepassing waarmee een externe brondatabase werd gemaakt
  • Recordvergrendeling: standaard zijn de records in de onderliggende tabel(len) niet vergrendeld, maar in een netwerk doe je dat met de bewerkte records beter wel
  • Type Recordset: standaard een dynaset, die automatisch bijgewerkt wordt als de onderliggende gegevens veranderd zijn, maar je kan ook een momentopname maken, die de gegevens van dat moment opslaat en niet aanpast
  • Time-Out ODBC: tijd in seconden waarna een ODBC-query wordt geannuleerd als de server niet reageert
  • Filter: filtercriterium dat geactiveerd wordt bij het openen van de query
  • Sorteren Op: één of meer velden waarop gesorteerd wordt bij het openen van de query
  • Maximum Aantal Records: indien ingevuld, leest de query niet meer records uit de tabel(len)
  • Afdrukstand: tekst wordt standaard van links naar rechts getoond (heeft niets met afdrukken te maken)
  • Naam Subgegevensblad: gekoppelde records verschijnen automatisch bij een zoeksleutelveld, maar je kan zelf een subtabel of -query opgeven
  • Subvelden Koppelen en Hoofdvelden Koppelen: koppel bepaalde hoofdqueryvelden expliciet aan bepaalde subqueryvelden
  • Hoogte Subgegevensblad: je kan een vaste hoogte opgeven, maar bij 0 worden gewoon alle rijen getoond
  • Uitgevouwen Subgegevensblad: een subgegevensblad bevat gekoppelde records. Een query in gegevensbladweergave opent standaard niet met opengevouwen gegevensblad; je vouwt het open door op + te klikken
  • Filteren Bij Laden: de voorwaarde bij Filter wordt wel of niet toegepast bij het openen van de query in gegevensbladweergave
  • Sorteren Bij Laden: de volgorde bij Sorteren Op wordt wel of niet toegepast bij het openen van de query in gegevensbladweergave

2.5. Expressies

Een expressie is een combinatie van veldnamen, constanten, operatoren en/of functies. Expressies komen o.a. voor in query's, formulieren en rapporten.

Een veldnaam staat tussen vierkante haken [ ] en als er velden uit verschillende tabellen in de expressie zitten, komt de tabelnaam erbij: [tabelNaam\.[veldNaam]

Een constante is een letterlijke waarde. Getallen typ je gewoon, tekst staat tussen dubbele aanhalingstekens en datum/tijd-waarden staan tussen hashtags #.

Om een berekening uit te voeren of een tekstexpressie op te bouwen heb je verder nog operatoren en/of functies nodig.
Je kan een expressie gewoon intypen in het veld of tekstvak (niet genoeg plaats? druk Shift-F2) of de Opbouwfunctie voor expressies gebruiken.
Die vind je ofwel in de vorm van een knopje met drie puntjes achter het veld ofwel op het hulplint Ontwerp.

De operatoren staan hieronder:

Rekenkundige operatoren
OperatorBetekenisVoorbeeld
+optellen[Verkoop]+5
-aftrekken[Aantal]-1
*vermenigvuldigen[Netto]*0,19
/delen[Bruto]/1,19
^machtsverheffing[straal]^2
\integerdelen, deelt afgeronde deler door afgeronde noemer en geeft geheel getal als resultaat100,6\3,4 geeft 33
Modmodulus, rest van de deling101 Mod 3 geeft 2
 
Tekstoperatoren
OperatorBetekenisVoorbeeld
&verbindt twee tekstexpressies"Hallo "&[Voornaam] geeft bv.: Hallo Jan
Like patroon met jokertekensLike "M[Cc]*" vindt de (Engelse) familienamen die beginnen met MC of Mc
jokerbetekenis
?één willekeurig teken
#één cijfer
*één of meer willekeurige tekens
[lijst]één teken uit de lijst
 
Vergelijkingsoperatoren
OperatorBetekenisVoorbeeld
=is gelijk aanBestellingen.[Klantnr]=Klanten.[Klant-ID]
<is kleiner dan[Aantal]<1
<=is kleiner dan of gelijk aan[Aantal]<=1
<>is verschillend van[Aantal]<>0
>is groter dan>#31/12/1999# geeft aan of een datum na 31/12/1999 ligt
>=is groter dan of gelijk aan>=#1/1/2000#

Het resultaat is ofwel Ja (-1, waar) ofwel Nee (0, onwaar) ofwel Null (onbekend)

 
Logische operatoren
OperatorBetekenis
Andis waar als expressie1 en expressie2 waar zijn
Oris waar als expressie1 of expressie2 waar is
Eqvlogisch equivalent
Implogische implicatie
Xorexclusiv OR
Notlogische Niet
 
Extra operatoren
OperatorBetekenisVoorbeeld
Between ... And ...beoordelen van een bereik[Voorraad] Between 2 And 5
In(lijst)geeft Waar als het item voorkomt in de lijst[Sport] In ("voetbal", "basketbal")
Is Nullhet veld is leeg[Straat] Is Null geeft alle records waar de straatnaam niet ingevuld is
Is Not Nullhet veld is ingevuld[Straat] Is Not Null

2.6. Functies

Access bevat vele functies voor allerhande bewerkingen op gegevens. In VBA kan je zelfs eigen functies definiëren, User Defined Functions.
In de opbouwfunctie voor expressies kan je de ingebouwde Accessfuncties en hun argumenten bekijken en gebruiken.

Een functie bestaat minimaal uit de functienaam gevolgd door ()

In ontwerpweergave klik je in een veld en als rechts van het veld 3 puntjes verschijnen, kan je zo het venster Opbouwfunctie voor Expressies openen.
Bovendien is de knop Opbouwfunctie op het lint dan actief.
Om Access-functies in te voegen kan je dat venster gebruiken als volgt:

  1. Klik in de linkerkolom op de plus aan Functies en dan op Ingebouwde Functies.
  2. In het midden zie je de categorieën van functies (zie hieronder). Klik op een categorie en rechts verschijnen de functies zelf.
  3. Klik op een functie om onderaan de uitleg af te lezen of dubbelklik om ze in te voegen. Je kan ook zelf beginnen typen en dan krijg je contextgevoelige hulp.
  4. Als de expressie volledig is, klik je OK om ze in het veld te laten verschijnen (NIET op het kruisje).

De ingebouwde functies zijn ingedeeld volgens 14 categorie├źn:

2.6.1. Algemeen

Deze categorie bevat enkel twee functies die een kleurwaarde retourneren

  • QBColor(Kleurnr): Kleurnummer = 0 zwart, 1 blauw, 2 groen, 3 cyaan, 4 rood, 5 magenta, 6 geel, 7 wit, 8 grijs, 9 lichtblauw, 10 lichtgroen, 11 licht cyaan, 12 lichtrood, 13 licht magenta, 14 lichtgeel, 15 helder wit
  • RGB(rr, gg, bb): schermkleuren gevormd uit rood, groen en blauw, telkens waarde van 0 tot 255

2.6.2. Berichten

Functies om een pop-up venstertje te laten verschijnen

  • InputBox("prompt"; [titel]; [xpos]; [ypos]): prompt (verplicht) = boodschap, eventueel met een titel op de titelbalk en een positie (xpos, ypos) op het venster
  • MsgBox("prompt"; [knoppen]; [titel]): prompt (verplicht) is de boodschap, eventueel met één of meer knoppen en een titel op de titelbalk

argument [knoppen] is een getal, namelijk de som van de soort knop, het type pictogram en welke knop de standaardknop is:

soort knoptype pictogramstandaardknop
0OK0geen0eerste
1OK en Annuleren16X in cirkel256tweede
2Afbreken, Opnieuw en Negeren32vraagteken in tekstballon512derde
3Ja, Nee en Annuleren48uitroepteken in driehoek
4Ja en Nee64info in tekstballon
5Opnieuw en Annuleren

Bijvoorbeeld: 273 = knoppen OK en Annuleren (1) + X in cirkel (16) + tweede knop standaard (256)

De functie geeft ook een waarde terug, waarop een macro of VBA-instructie dan kan reageren:

  • knop OK = 1
  • knop Annuleren = 2
  • knop Afbreken = 3
  • knop Opnieuw = 4
  • knop Negeren = 5
  • knop Ja = 6
  • knop Nee = 7

2.6.3. Conversie

Functies die het gegevenstype van het object wijzigen, bv. Str(num) zet een numerieke waarde om in tekst

  • Asc(expressie): geeft de ASCII-code voor het eerste teken van de expressie
  • CBool(expressie): converteert de expressie naar een boolean: WAAR of ONWAAR, Ja of Nee
  • CByte(expressie): converteert de expressie indien mogelijk naar een byte-waarde: 0 tot 255
  • CCur(expressie): converteert de expressie indien mogelijk naar een valuta-waarde, Currency
  • CDate(expressie): converteert de expressie indien mogelijk naar een datumwaarde
  • CDbl(expressie): converteert de expressie indien mogelijk naar een kommagetal, Double
  • Chr(tekencode): geeft het karakter dat hoort bij de opgegeven ASCII-code (0-255)
  • ChrW(tekencode): geeft het karakter dat hoort bij de opgegeven Unicode
  • CInt(expressie): converteert de expressie indien mogelijk naar een geheel getal, Integer, tussen -32.768 en +32.767
  • CLng(expressie): converteert de expressie indien mogelijk naar een groot geheel getal, Long, tot iets meer dan +/- 2 miljard
  • CLngPtr(expressie): kan op 64-bit systemen converteren naar nog grotere gehele getallen, tot in de biljarden
  • CSng(expressie): converteert indien mogelijk de expressie naar een kommagetal, Single
  • CStr(expressie): converteert de expressie naar tekst
  • CVar(expressie): converteert de expressie naar een variant, een variabele met een willekeurige waarde (praktisch: double of string)
  • DateSerial(jaar; maand; dag): maakt een datumwaarde met de opgegeven jaar, maand en dag
  • DateValue(expressie): converteert de expressie indien mogelijk naar een datumwaarde
  • Day(datum): geeft de dag van de maand uit datum, getal van 1 tot 31
  • EuroConvert(getal; bronvaluta; doelvaluta): rekent het getal in de bronvaluta om naar de doelvaluta, bv: =EuroConvert(100; "BEF"; "EUR")
  • FormatCurrency(getal; [decimalen]): toont het getal in de standaardvaluta van het systeem, eventueel met het opgegeven aantal decimalen
  • FormatDateTime(datumexpressie): toont de datumexpressie in korte datum-/tijdnotatie
  • FormatNumber(getal; [decimalen]): toont het getal in standaard getalnotatie, eventueel met het opgegeven aantal decimalen
  • FormatPercent(getal; [decimalen]): vermenigvuldigt het getal met honderd en toont het met een procentteken achter, eventueel met het opgegeven aantal decimalen
  • Hex(getal): toont de hexadecimale waarde van het opgegeven getal
  • Minute(tijdwaarde): geeft het aantal minuten (0-59) uit de tijdwaarde
  • Month(datumwaarde): geeft het maandnummer (1-12) uit de opgegeven datumwaarde
  • Nz(expressie; [waardeBijNull]): als de expressie = NULL, geeft de functie een 0 of een lege string "" terug ofwel de opgegeven waardeBijNull
  • Oct(getal): geeft de octale waarde van het opgegeven getal
  • PlainText("opgemaakteTekst"; [lengte]): zet de opgemaakte tekst om in een niet-opgemaakte tekenreeks, eventueel tot het opgegeven aantal tekens
  • Second(tijd): geeft het aantal seconden (0-59) uit de opgegeven tijdwaarde
  • Str(getal): converteert de opgegeven getalwaarde naar tekst
  • TimeSerial(uur; minuten; seconden): geeft de tijd in standaard tijdformaat, bv. 16:00:00
  • TimeValue(tijdwaarde): tracht de opgegeven waarde om te zetten in een tijdwaarde
  • Val("tekst"): leest de tekst vanaf het eerste cijfer tot aan het eerste niet-cijfer en geeft het getal terug
  • Weekday(datum): geeft het dagnummer van de opgegeven datum, van zondag = 1 tot zaterdag = 7
  • Year(datum): geeft het jaartal uit de opgegeven datum

En dan is er nog StrConv("tekst", nr), die tekst omzet volgens het opgegeven nummer (of de opgegeven constante):

NummerConstanteBetekenis
1vbUpperCasezet de tekst om in hoofdletters
2vbLowerCasezet de tekst om in kleine letters
3vbProperCasede eerste letter van elk woord wordt een hoofdletter, de rest staat in kleine letters
64vbUnicodezet de tekst om in Unicode-karakters
128vbFromUnicodezet de Unicode-tekst om in karakters van de lokale tekenset

2.6.4. Database

Hier vind je de functies die nergens anders thuis horen

  • ColumnHistory("tabelnaam"; "veldnaam"; "voorwaarde"): geeft alle waarden en wijzigingen uit een opgegeven memoveld
  • CurrentUser(): toont de naam van de huidige gebruiker van de database
  • Eval("expressie"): tracht de opgegeven tekst te evalueren, bv: =Eval("1+1") geeft 2 of =Eval("Chr(65)") geeft A
  • HyperlinkPart(link; deel): een hyperlinkveld kan een hyperlink bevatten die uit verscheidene delen bestaat; met deze functie haal je één deel eruit
  • Partition(getal; start; stop; interval): geeft de positie van het getal in bereik start tot stop volgens het opgegeven interval

2.6.5. Datum/Tijd

Access bevat allerhande functies om de datum en tijd te tonen of te bewerken.
Geregeld is daarbij sprake van een interval, dat kan "yyyy", "q" (kwartaal), "m", "ww" (week), "w" (weekdag), "d", "h", "m" (of "n" in Engelse versie) of "s" zijn.

FunctieVoorbeeldResultaat
CDate("datum")=CDate("30/12/2016") converteert indien mogelijk de datumexpressie naar een datumwaarde
Date()=Date()+30Huidige systeemdatum plus 30 dagen
DateAdd("interval",aantal,datum)=DateAdd("m",6,Date())tel 6 maanden bij de huidige datum
DateDiff("interval",datum1,datum2)=DateDiff("ww",#01/01/2016#,Date())telt het aantal weken tussen 1 januari 2016 en de huidige datum
DatePart("interval",datum)=DatePart("q",Date()) geeft het kwartaalnummer van de actuele datum
DateSerial(jaar, maand, dag)=DateSerial(2016,1,1) geeft de datumwaarde voor 1 januari 2016
DateValue(expressie)=DateValue("1 januari 2016") zet een tekstwaarde om in een datum, indien mogelijk
Day(datum)=Day([datumveld]) geeft het dagnummer (1-31) uit het datumveld
Hour(tijd)=Hour(#11:25:30#) geeft het uur (0-23) uit de opgegeven tijd, hier 11
IsDate(expressie)=IsDate("01/01/2016") is de expressie een datum?
Minute(tijd)=Minute(Time()) geeft het aantal minuten (0-59) uit de actuele tijd
Month(datum)=Month(Now()) geeft het maandnummer (1-12) uit de actuele tijd
MonthName(maand)=MonthName(2) geeft februari, de naam van maand 2
Now()=Now() bevat de actuele systeemdatum en systeemtijd
Second(tijd)=Second([tijdveld]) geeft het aantal seconden (0-59) uit het tijdveld
Time()=Time() geeft de actuele systeemtijd
Timer()=Timer() geeft het aantal seconden sinds middernacht
TimeSerial(uur,minuten,seconden)=TimeSerial(16,0,0) geeft de tijd in standaard tijdformaat, bv. 16:00:00
TimeValue(tijd)=TimeValue("16:00") tracht de opgegeven waarde om te zetten in een tijdwaarde, bv. 16:00:00
Weekday(datum)=Weekday(#01/01/2016") geeft het dagnummer van de opgegeven datum, van zondag = 1 tot zaterdag = 7
WeekdayName(dagnummer)=WeekdayName(2) geeft de naam van de weekdag, bv. maandag
Year(datum)=Year(Date()) geeft het jaartal uit de opgegeven datum

2.6.6. Financieel

Functies voor financiële berekeningen, zoals afschrijvingen, renteberekening, e.d.

  • DDB(kosten; rest; duur; termijn): berekent de afschrijving van een activum met aanschaffingswaarde kosten, vermoedelijke verkoopwaarde rest aan het einde van de looptijd van duur periodes, voor de periode termijn, m.b.v. de double declining balance afschrijvingsmethode
  • FV(rente; termijnen; bedrag): geeft de toekomstige waarde van investering met intrestvoet rente, terug te betalen in een aantal termijnen aan bedrag € per termijn
  • IPmt(rente; termijn; aantal-termijnen; hw): berekent de te betalen rente over een bepaalde termijn voor een investering van hw € aan constante rente per termijn, terug te betalen in aantal-termijnen
  • IRR(bereik; [schatting]): geeft de interne rentabiliteit voor de reeks cashflows in bereik, eventueel gebaseerd op geschatte rentabiliteit
  • MIRR(bereik; fin-r; her-r): geeft de gewijzigde interne rentabiliteit voor de reeks cashflows in bereik, met gegeven financieringsintrest fin-r en gegeven intrest her-r op herinvestering
  • NPer(rente; bet; hw): geeft het aantal termijn van investering hw €, terug te betalen aan bet € per termijn en met constante intrestvoet rente
  • NPV(rente; bereik): berekent de netto huidige waarde van de reeks cashflows in bereik, met korting rente (decimaal getal)
  • Pmt(rente; aantal-termijnen; hw): berekent de periodieke aflossing op een annuïteit met investeringsbedrag hw €, terug te betalen in aantal-termijnen, met constante rentevoet rente
  • PPmt(rente; termijn; aantal-termijnen; hw): geeft de kapitaalaflossing voor een bepaalde termijn op een annuïteit van hoofdsom hw, terug te betalen in aantal-termijnen aan rentevoet rente
  • PV(rente; aantal-termijnen; bet): geeft de huidige waarde van een investering met periodieke aflossing bet, aantal-termijnen en vaste rente
  • Rate(aantal-termijnen; bet; hw): geeft het rentepercentage voor annuïteit van hw €, terug te betalen in aantal-termijnen van bet € per termijn
  • SLN(kost; restwaarde; duur): geeft het lineaire afschrijvingsbedrag voor activum met aanschaffingswaarde kost, een bepaalde restwaarde en levensduur duur
  • SYD(kost; restwaarde; duur; termijn): berekent het afschrijvingsbedrag volgens de som-der-coëfficiënten-methode voor periode termijn van activum met aankoopwaarde kost, een bepaalde restwaarde en economische levensduur duur

2.6.7. Foutafhandeling

Functies om een foutbericht te laten verschijnen

  • AccessError(foutnr): geeft een omschrijving voor het opgegeven foutnummer
  • CVErr(foutnr): retourneert een foutnummer voor de gebruikersfout foutnr
  • Err(): maakt een Error-object met de laatst opgetreden fout
  • Error(foutnr): geeft de foutboodschap die hoort bij het opgegeven foutnummer
  • IsError(expressie): bevat de opgegeven expressie een fout?

2.6.8. Inspectie

Hier gaat het over controlefuncties:

  • IsArray(variabele): is de opgegeven variabele een array, reeksvariabele?
  • IsDate(expressie): is het een datum?
  • IsEmpty(variabele): is de variabele geïnitialiseerd?
  • IsError(expressie): bevat de opgegeven expressie een fout?
  • IsMissing(argument): bevat de functie wel of niet het opgegeven argument?
  • IsNull([veld]): is het veld leeg?
  • IsNumeric(expressie): kan de expressie geëvalueerd worden als een getal?
  • IsObject(ID): (VBA) verwijst de opgegeven ID naar een object?
  • TypeName(variabele): toont een tekenreeks met het type van de variabele
  • VarType(variabele): geeft een nummer dat het type variabele aanduidt, cf. Microsoft.

2.6.9. Matrices

delen van een matrix ophalen

  • LBound(array): geef de kleinste index uit de array
  • UBound(array): geef de grootste index uit de array

2.6.10. Programmaverloop

Deze categorie bevat functies om een keuze in te bouwen:

  • Choose(index; lijst): geeft de index-ste waarde uit een lijst
  • IIf(voorw; dan; anders): als de voorwaarde klopt, komt dan als resultaat, anders anders
  • Switch(vw1; res1; vw2; res2): deze functie gaat de lijst voorwaarden af en bij de eerste voorwaarde die True is, wordt de bijhorende waarde als resultaat gegeven

2.6.11. Statistische domeinfuncties

Hiermee kunnen we berekeningen maken op records die niet in het object (query, formulier, rapport) zelf zitten.
Het domein in deze functies is een tabel of query die de records bevat waarop berekend moet worden.

Opm: het criterium is facultatief, vandaar de [ ]. Voorbeelden: "[Klant-ID] = 1" of Max([Jaren]) of "[Voornaam] = 'Ann'"

  • DAvg("veld"; "domein"; ["criterium"]): bereken het gemiddelde van de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DCount("veld"; "domein"; ["criterium"]): tel het aantal records in het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DFirst("veld"; "domein"; ["criterium"]): geef de eerste waarde uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DLast("veld"; "domein"; ["criterium"]): geef de laatste waarde uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DLookUp("veld"; "domein"; ["criterium"]): zoek de waarde in het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DMax("veld"; "domein"; ["criterium"]): geef de hoogste waarde uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DMin("veld"; "domein"; ["criterium"]): geef de laagste waarde uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DStDev("veld"; "domein"; ["criterium"]): maak een schatting van de standaard deviatie van de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DStDevP("veld"; "domein"; ["criterium"]): maak een schatting van de standaard deviatie in een steekproef met de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DSum("veld"; "domein"; ["criterium"]): bereken de som van de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DVar("veld"; "domein"; ["criterium"]): schat de variantie van de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium
  • DVarP("veld"; "domein"; ["criterium"]): schat de variantie voor een steekproef van de waarden uit het veld in het opgegeven domein, eventueel volgens het opgegeven criterium

2.6.12. Statistische SQL-functies

Om statistische berekeningen in een query uit te voeren

  • Aantal(veld): geeft het aantal records in het veld
  • Gem(veld): berekent het rekenkundig gemiddelde van de waarden in het veld
  • Max(veld): geeft de maximale waarde uit het veld
  • Min(veld): geeft de minimale waarde uit het veld
  • Som(veld): berekent de som van de waarden in het veld
  • StDev(veld): schat de standaard deviatie van de waarden in het veld
  • StDevP(veld): schat de standaard deviatie voor een steekproef van waarden uit het veld
  • Var(veld): schat de variantie op de waarden in het veld
  • VarP(veld): schat de variantie in een steekproef van waarden uit het veld

2.6.13. Tekst

Het bewerken van tekstexpressies, bv. Right(expressie,4): geef de laatste vier tekens uit de expressie

  • Asc("tekst"): geef de ASCII-code van het eerste karakter in tekst
  • BuildCriteria("veld", veldtype, "criterium"): maak een voorwaarde voor gebruik in een filter
  • Chr(ASCII-code): geeft het teken dat hoort bij de opgegeven ASCII-code
  • ChrW(Unicode): geeft het teken dat hoort bij de opgegeven Unicode
  • Format(expressie; "formaat"): zie hieronder
  • InStr("string1"; "string2"): geeft de positie waarop deeltekenreeks string1 begint in tekenreeks string2
  • InStrRev("string2"; "string1"): geeft de positie vanaf het einde van string2 waarop string1 voorkomt in string2
  • LCase("tekst"): zet de tekst om in kleine letters
  • Left("tekst", n): geeft de eerste n tekens van de tekst
  • Len("tekst"): geeft het aantal tekens in de tekst
  • LTrim("tekst"): verwijdert beginspaties van de tekst
  • Mid("tekst"; begin; [aantal]): geeft het stuk uit tekst vanaf positie begin, eventueel beperkt tot aantal tekens
  • PlainText("opgemaakteTekst"; [lengte]): zet de opgemaakte tekst om in een niet-opgemaakte tekenreeks, eventueel beperkt tot het opgegeven aantal tekens
  • Replace("tekst"; "zoek"; "vervang"): doorzoek de tekst op deelreeks zoek en vervang die door vervang
  • Right("tekst"; n): geeft de laatste n tekens van de tekst
  • RTrim("tekst"): haal eindspaties weg uit de tekst
  • Space(n): geeft n spaties als resultaat
  • StrComp("string1"; "string2"): vergelijk string1 met string2. Resultaat -1 betekent dat string1 < string2, 0 = gelijke strings en bij 1 is string1 > string2
  • StrConv("tekst"; nr): zie 2.6.3.
  • String(aantal; code): herhaalt het teken met de opgegeven ASCII- of Unicode aantal keer
  • StrReverse("tekst"): draait de tekst om
  • Trim("tekst"): verwijdert eventuele begin- en eindspaties uit de tekst
  • UCase("tekst"): zet de tekst in hoofdletters

Met de functie Format() kan een expressie in een bepaald formaat getoond worden, bv. de dag uit de datum, een bedrag in euro, enz.

De algemene opbouw van de functie is: =Format(expressie;"formaat")
waarbij "expressie" zowel een volledige berekening als een veldnaam kan zijn.
"formaat" is altijd een bepaalde notatie tussen aanhalingstekens; hieronder verscheidene voorbeelden

VoorbeeldResultaat
Format([prijs];"€ 0,00")de waarde uit veld prijs met een €-teken en 2 decimalen
Format(0,21;"Percent")decimaal getal in procentweergave, bv. 21%
Format("tekst";">")zet de tekst in hoofdletters
Format([datum];"d")dag van de maand, uitgedrukt in 1 of 2 cijfers, van 1 tot 31
Format([datum];"dd")dag van de maand, uitgedrukt in 2 cijfers, van 01 tot 31
Format([datum];"ddd")naam van de dag in twee letters, ma tot zo
Format([datum];"dddd")de volledige naam van de dag
Format([datum];"w")nummer van de dag in de week, 1 tot 7
Format([datum];"ww")nummer van de week in het jaar
Format([datum];"m")maand van het jaar, uitgedrukt in 1 of 2 cijfers, van 1 tot 12
Format([datum];"mm")maand van het jaar, uitgedrukt in 2 cijfers, van 01 tot 12
Format([datum];"mmm")maand van het jaar, uitgedrukt in 3 letters, van jan tot dec
Format([datum];"mmmm")volledige naam van de maand van het jaar
Format([datum];"q")nummer van het kwartaal
Format([datum];"y")nummer van de dag in het jaar
Format(Date()-[datum];"yy")het aantal jaren van de datum tot vandaag
Format([datum];"yyyy")het jaartal uit de datum
Format([datum];"dd/mm/yyyy")korte datumnotatie, bv. 25/12/2015
Format([datum];"dd mmmm yyyy")lange datumnotatie, bv. 25 december 2015
Format([datum];"hh:mm:ss")tijdnotatie, met zowel uren, minuten als seconden in 2 cijfers

2.6.14. Wiskundig

mathematische berekeningen, bv. Sqrt(getal) berekent de vierkantswortel van het getal

  • Abs(getal): geeft de absolute waarde van het opgegeven getal
  • Atn(getal): geeft een double-waarde met de boogtangens van het opgegeven getal
  • Cos(hoek): geeft een double-waarde met de cosinus van de opgegeven hoek
  • Exp(getal): geeft als resultaat e (= 2,718282) tot de macht getal
  • Fix(getal): laat het decimale deel van het getal vallen, bv: =Fix(-99,2) = -99
  • Int(getal): laat bij positieve getallen het decimale deel van het getal vallen, maar bij negatieve wordt het eentje minder, bv: =Int(-99,2) = -100
  • Log(getal): geeft het natuurlijk logaritem (= met grondtal e) van het opgegeven getal
  • Rnd(): random, geeft een willekeurig getal tussen 0 en 1
  • Round(getal; [decimalen]): rondt het getal af tot het dichtsbijzijnde geheel getal of op het opgegeven aantal decimalen
  • Sgn(getal): geeft -1 voor negatieve getallen, 0 voor nul en +1 voor positieve getallen
  • Sin(hoek): geeft de sinus van de opgegeven hoek
  • Sqr(getal): geeft de vierkantswortel van het opgegeven positieve getal
  • Tan(hoek): geeft de tangens van de opgegeven hoek