Validatieregels gebruiken om gegevensinvoer te beperken
Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

U kunt gegevens in een Access-bureaubladdatabase tijdens de invoer valideren door gebruik te maken van validatieregels. U kunt de opbouwfunctie voor expressies gebruiken waarmee u de regel op de juiste manier opmaakt. Validatieregels kunnen worden ingesteld in de weergave tabelontwerp of tabelgegevensblad. Er zijn drie typen validatieregels in Access:

1. Veldvalidatieregel   U kunt een veldvalidatieregel gebruiken om een criterium op te geven waaraan alle geldige veldwaarden moeten voldoen. U hoeft het huidige veld niet op te geven als onderdeel van de regel, tenzij u het veld in een functie gebruikt.  Beperkingen voor tekens invoeren in een veld gaat mogelijk gemakkelijker met een Invoermasker. Een datumveld kan bijvoorbeeld een validatieregel hebben die waarden in het verleden niet toestaat.

Snelle voorbeelden:

Datumwaarden in het verleden niet toestaan: >=Date()

Algemeen geaccepteerde e-mailindeling: Is Null OR ((Zoals "*?@?*.? *") AND (niet zoals "*[ ,;] *"))

Getal kleiner dan of gelijk aan vijf: <=5

Valutaveld mag niet negatief zijn: >=0

Tekenlengte beperken in tekenreeks: Len([StringFieldName])<100

Veldvalidatieregel weergegeven in de ontwerpfunctie voor Access-tabellen

2. Recordvalidatieregel   U kunt een recordvalidatieregel gebruiken om een voorwaarde op te geven waaraan alle geldige records moeten voldoen. Met een recordvalidatieregel kunt u waarden van verschillende velden vergelijken. Bijvoorbeeld: bij een record met twee datumvelden kan de voorwaarde gelden dat de ene waarde vóór de andere waarde moet liggen (bijv. Begindatum ligt vóór Einddatum).

Snelle voorbeelden:

Zorg ervoor dat de einddatum niet vóór de begindatum komt: [Einddatum]>=[Begindatum]

Voer een vereiste datum in die niet meer dan 30 dagen na de orderdatum valt: [RequiredDate]<=[OrderDate]+30

Een tabelvalidatieregel in de ontwerpfunctie voor Access-tabellen.

3. Validatie op een formulier   U kunt de eigenschap Validatieregel van een besturingselement in een formulier gebruiken om een criterium op te geven waaraan alle waarden die in dat besturingselement worden ingevoerd, moeten voldoen. De eigenschap Validatieregel voor een besturingselement werkt op ongeveer dezelfde manier als een veldvalidatieregel. Meestal gebruikt u een formuliervalidatieregel in plaats van een veldvalidatieregel als de regel alleen specifiek is voor dat formulier en niet voor de tabel, ongeacht waar deze is gebruikt.

In dit artikel

Overzicht

In dit artikel wordt uitgelegd hoe u validatieregels en validatietekst in tabelvelden en formulierbesturingselementen gebruikt. Een validatieregel is één manier om de invoer in een tabelveld of een besturingselement (zoals een tekstvak) in een formulier te beperken. U kunt met validatietekst een bericht weergeven om gebruikers te helpen die ongeldige gegevens invoeren.

Wanneer de gegevens zijn ingevoerd, wordt gecontroleerd of de invoer strijdig is met een validatieregel. Als dat het geval is, wordt de invoer niet geaccepteerd en wordt een bericht weergegeven.

Er zijn verschillende manieren om invoer te beperken:

  • Gegevenstypen   Elk tabelveld heeft een gegevenstype waarmee wordt beperkt wat gebruikers kunnen invoeren. Een datum-/tijdveld bijvoorbeeld accepteert alleen datums en tijden, een valutaveld alleen geldbedragen, enzovoort.

  • Veldeigenschappen   Met sommige veldeigenschappen wordt de gegevensinvoer beperkt. Met de eigenschap Veldlengtevan een veld wordt bijvoorbeeld de invoer beperkt doordat er slechts een bepaalde hoeveelheid gegevens is toegestaan.

    U kunt ook de eigenschap Validatieregel gebruiken om specifieke waarden te vereisen en de eigenschap Validatietekst om gebruikers bij fouten te waarschuwen. Als u bijvoorbeeld een regel invoert zoals >100 And <1000 in de eigenschap Validatieregel, worden gebruikers gedwongen waarden tussen 100 en 1000 in te voeren. En bij een regel zoals [Einddatum]>=[Begindatum] worden gebruikers gedwongen een einddatum te gebruiken die dezelfde datum als de begindatum is of een latere datum. Door tekst als 'Voer waarden tussen 100 en 1000 in' of 'Voer een einddatum in die gelijk is aan de begindatum of een latere datum' in de eigenschap Validatietekst in te voeren, weten gebruikers wanneer ze foute gegevens hebben ingevoerd en hoe ze deze moeten corrigeren.

  • Invoermaskers   U kunt een invoermasker gebruiken om gegevens te valideren door een bepaalde invoernotatie af te dwingen. Een invoermasker kan gebruikers bijvoorbeeld verplichten om datums in een Europese notatie in te voeren, zoals 14-04-2007.

U kunt deze validatiemethode afzonderlijk gebruiken of in combinatie met andere validatiemethoden. Gegevenstypen zijn niet optioneel en bieden automatisch al bepaalde validatiemogelijkheden.

Zie het artikel Inleiding tot gegevenstypen en veldeigenschappen voor meer informatie over gegevenstypen, veldlengten en invoermaskers.

Typen validatieregels

U kunt twee elementaire typen validatieregels maken:

  • Veldvalidatieregels   Gebruik een veldvalidatieregel om de waarde die in een veld is ingevoerd, te controleren nadat het veld is verlaten. U hebt bijvoorbeeld een datumveld en u voert >=#01.01.2010# in de eigenschap Validatieregel van dat veld in. Door deze regel worden gebruikers gedwongen een datum in te voeren op of na 1 januari 2010. Als er een eerdere datum dan 2010 wordt ingevoerd en de gebruiker naar een ander veld wil gaan, kan het veld pas worden verlaten nadat de fout is hersteld.

  • Recordvalidatieregels   Met recordvalidatieregels kunt u bepalen wanneer een record (een rij in een tabel) kan worden opgeslagen. In tegenstelling tot veldvalidatieregels verwijst een recordvalidatieregel naar andere velden in dezelfde tabel. Gebruik recordvalidatieregels als u de waarden van een bepaald veld wilt vergelijken met de waarden van een ander veld. Stel dat uw bedrijf producten binnen 30 dagen moet leveren, en dat wanneer dat niet gebeurt, u een deel van de aankoopprijs moet restitueren aan de klant. U kunt dan de recordvalidatieregel [Vervaldatum]<=[Besteldatum]+30 maken om ervoor te zorgen dat er geen verzenddatum (de waarde in het veld Vervaldatum) kan worden ingevoerd die te ver in de toekomst ligt.

Als u meer informatie over de syntaxis voor validatieregels nodig hebt, raadpleegt u het gedeelte Wat kan ik in een validatieregel opnemen. Hier vindt u een uitleg van de syntaxis en enkele voorbeelden van validatieregels.

Waar kunt u validatieregels gebruiken

U kunt validatieregels voor tabelvelden en voor besturingselementen in formulieren definiëren. Wanneer u regels voor tabellen definieert, zijn de regels van toepassing als u gegevens importeert. Als u validatieregels wilt toevoegen aan een tabel, opent u de tabel en gebruikt u opdrachten op het tabblad Tabelvelden van het lint. Als u validatieregels aan een formulier wilt toevoegen, opent u het formulier in de indelingsweergave en voegt u regels aan de eigenschappen van afzonderlijke besturingselementen toe.

Met de stappen in het gedeelte Een validatieregel toevoegen aan een tabel wordt uitgelegd hoe u validatieregels toevoegt aan tabelvelden. Met de stappen in het gedeelte Een validatieregel toevoegen aan een formulier verderop in dit artikel wordt uitgelegd hoe u regels toevoegt aan de eigenschappen van afzonderlijke besturingselementen.

Wat kunt u in een validatieregel opnemen

Uw validatieregels kunnen expressies bevatten (functies die één waarde als resultaat geven). U kunt een expressie gebruiken om berekeningen uit te voeren, tekens te manipuleren of gegevens te testen. Met de expressie van een validatieregel worden gegevens getest. Een expressie kan bijvoorbeeld controleren of een waarde voorkomt in een bepaalde reeks, zoals: "Tokio" Or "Moskou" Or "Parijs" Or "Helsinki". U kunt ook expressies gebruiken om rekenkundige bewerkingen te laten uitvoeren. De expressie <100 bijvoorbeeld dwingt gebruikers waarden minder dan 100 in te voeren. De expressie ([Besteldatum] - [Verzenddatum]) berekent het aantal verstreken dagen tussen het tijdstip waarop een bestelling is geplaatst en het tijdstip waarop de bestelling is verzonden.

Zie het artikel Een expressie maken voor meer informatie over expressies.

Naar boven

Een validatieregel toevoegen aan een tabel

U kunt een veldvalidatieregel en/of een recordvalidatieregel toevoegen. Met een veldvalidatieregel wordt de invoer in een veld gecontroleerd, wanneer u het veld verlaat. Met een recordvalidatieregel wordt de invoer in een of meer velden gecontroleerd, wanneer u de record verlaat. Met een recordvalidatieregel worden meestal de waarden van twee of meer velden vergeleken.

Notities: Validatieregels worden bij de volgende veldtypen niet ondersteund:

  • AutoNummering

  • OLE-object

  • Bijlage

  • ReplicationID

Een veldvalidatieregel maken

  1. Selecteer het veld dat u wilt valideren.

  2. Klik op het tabblad Tabelvelden in de groep Veldvalidatie op Validatie en klik vervolgens op Veldvalidatieregel.

  3. Gebruik de opbouwfunctie voor expressies om de regel te maken. Zie het artikel De opbouwfunctie voor expressies gebruiken voor meer informatie over de opbouwfunctie voor expressies.

Een bericht maken dat moet worden weergegeven bij ongeldige veldinvoer

  1. Selecteer het veld waarvoor u een bericht wilt instellen om te worden weergegeven wanneer er ongeldige gegevens in het veld worden ingevoerd. Voor het veld moet al een validatieregel zijn gedefinieerd.

  2. Klik op het tabblad Tabelvelden in de groep Veldvalidatie op Validatie en klik vervolgens op Veldvalidatiebericht.

  3. Voer het bericht in. Bij de validatieregel >10 bijvoorbeeld kunt u het bericht 'Voer een waarde kleiner dan 10 in' invoeren.

Zie het gedeelte Naslaginformatie over validatieregels voor enkele voorbeelden van veldvalidatieregels en berichten.

Een recordvalidatieregel maken

  1. Open de tabel waarvoor u records wilt valideren.

  2. Klik op het tabblad Tabelvelden in de groep Veldvalidatie op Validatie en klik vervolgens op Validatieregel.

  3. Gebruik de opbouwfunctie voor expressies om de regel te maken. Zie het artikel De opbouwfunctie voor expressies gebruiken voor meer informatie over de opbouwfunctie voor expressies.

Een bericht maken dat moet worden weergegeven bij ongeldige recordinvoer

  1. Open de tabel waarvoor u een bericht wilt instellen om te worden weergegeven wanneer er ongeldige gegevens worden ingevoerd. Voor de tabel moet al een recordvalidatieregel zijn gedefinieerd.

  2. Klik op het tabblad Tabelvelden in de groep Veldvalidatie op Validatie en klik vervolgens op Validatiebericht.

  3. Voer het bericht in. Als de validatieregel bijvoorbeeld [StartDate]<[EndDate] is, kan het bericht 'Begindatum moet voorafgaan aan EndDate' zijn.

Naar boven

Bestaande gegevens met een nieuwe validatieregel testen

Als u een validatieregel aan een bestaande tabel toevoegt, wilt u de regel misschien testen om te controleren of er bestaande gegevens ongeldig zijn.

  1. Open de tabel die u wilt testen, in de ontwerpweergave.

    Klik op het tabblad Tabelontwerp in de groep Hulpmiddelen op Validatieregels testen.

  2. Klik op Ja om de waarschuwing te sluiten en de test te starten.

  3. Als u wordt gevraagd of u de tabel wilt opslaan, klikt u op Ja.

  4. Mogelijk worden er diverse andere waarschuwingen weergegeven als u doorgaat. Lees de tekst van elk bericht en klik op Ja of Nee om het testen te voltooien of te beëindigen.

Naar boven

Een validatieregel toevoegen aan een besturingselement in een formulier

U kunt de eigenschappen Validatieregel en Validatietekst van het besturingselement van een formulier gebruiken om ingevoerde gegevens te valideren. Op die manier voorkomt u dat er ongeldige gegevens worden ingevoerd en helpt u gebruikers de juiste gegevens in te voeren.

Tip:  Als een formulier automatisch op basis van een tabel wordt gemaakt met een van de opdrachten voor formulieren op het lint, wordt alle validatie voor velden in de onderliggende tabel overgenomen door de overeenkomstige besturingselementen van het formulier.

Een besturingselement kan een andere validatieregel hebben dan het tabelveld waarvan het besturingselement afhankelijk is. Dit is handig als er voor het formulier meer beperkingen moeten gelden dan voor de tabel. De formulierregel wordt eerst toegepast en vervolgens wordt de tabelregel toegepast. Als er voor de tabel meer beperkingen gelden dan voor het formulier, heeft de regel die is gedefinieerd voor het tabelveld voorrang. Als de regels elkaar uitsluiten, kunt u helemaal geen gegevens invoeren.

Stel dat u de volgende regel toepast op een datumveld in een tabel:

<#01-01-2010#

Vervolgens past u de volgende regel toe op het formulierbesturingselement dat afhankelijk is van het datumveld:

>=#01-01-2010#

Voor het datumveld moeten de waarden dan vóór het jaar 2010 liggen, terwijl bij het besturingselement van het formulier een datum in het jaar 2010 of later wordt vereist. U kunt nu geen enkele waarde invoeren.

Een validatieregel maken voor een besturingselement

  1. Klik met de rechtermuisknop op het formulier dat u wilt wijzigen, en klik op Indelingsweergave.

  2. Klik met de rechtermuisknop op het besturingselement dat u wilt wijzigen, en klik vervolgens op Eigenschappen om het eigenschappenvenster voor het besturingselement te openen.

  3. Klik op het tabblad Alle en voer vervolgens de validatieregel in het eigenschappenvak Validatieregel in.

    Tip:  Klik op de knop Opbouwen om de opbouwfunctie voor expressies te starten.

    Zie het artikel De opbouwfunctie voor expressies gebruiken voor meer informatie.

  4. Voer een bericht in het vak van de eigenschap Validatietekst in.

Naar boven

Naslaginformatie over validatieregels

Bij validatieregels wordt gebruikgemaakt van de syntaxis voor Access-expressies. Zie het artikel Inleiding tot expressies voor meer informatie over expressies.

Voorbeelden van validatieregels en validatietekst

Validatieregel

Validatietekst

<>0

Voer een andere waarde dan nul in.

>=0

Voer nul of een hogere waarde in.

-of-

U moet een positief getal invoeren.

0 of >100

Voer de waarde 0 of een waarde groter dan 100 in.

BETWEEN 0 AND 1

Voer een waarde met een procentteken in. (Voor gebruik bij een veld waarin getallen als percentage worden opgeslagen.)

<#01.01.2007#

Voer een datum vóór 2007 in.

>=#01.01.2007# AND <#01.01.2008#

Gebruik een datum in het jaar 2007.

<Date()

De geboortedatum mag geen datum in de toekomst zijn.

StrComp(UCase([Achternaam]), [Achternaam],0) = 0

Gegevens in het veld Achternaam moeten uit hoofdletters bestaan.

>=Int(Now())

Voer de datum van vandaag in.

M Or V

Voer M voor man of V voor vrouw in.

LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org"

Voer een geldig e-mailadres in dat eindigt op .com, .net of .org.

[Vervaldatum]<=[Orderdatum]+30

Voer voor vervaldatum een datum in die niet meer dan 30 dagen na de orderdatum ligt.

[Einddatum]>=[Begindatum]

Voer een einddatum gelijk aan of later dan de begindatum in.

Syntaxisvoorbeelden van veelgebruikte operatoren voor validatieregels

Operator

Functie

Voorbeeld

NOT

Hiermee wordt op tegengestelde waarden getest. Gebruik de operator vóór alle vergelijkingsoperatoren behalve IS NOT NULL.

NOT > 10 (hetzelfde als <=10).

IN

Hiermee wordt getest op waarden die gelijk zijn aan bestaande leden in een lijst. De waarde waarmee wordt vergeleken, moet een reeks elementen zijn die door komma's zijn gescheiden en die tussen haakjes zijn geplaatst.

IN ("Tokio","Parijs","Moskou")

BETWEEN

Hiermee wordt getest op een bereik van waarden. U moet twee vergelijkingswaarden (minimum en maximum) opgeven, gescheiden door AND.

BETWEEN 100 AND 1000 (hetzelfde als >=100 AND <=1000)

LIKE

Hiermee worden tekens gecontroleerd met de velden Tekst en Memo.

LIKE "Geo*"

IS NOT NULL

Hiermee worden gebruikers gedwongen waarden in het veld in te voeren. Dit is hetzelfde als de eigenschap Vereist instellen op Ja. Als u echter de eigenschap Vereist inschakelt en een gebruiker geen waarde invoert, wordt door Access een wat minder gebruiksvriendelijk bericht weergegeven. Uw database is gewoonlijk gemakkelijker te gebruiken als u IS NOT NULL gebruikt en een vriendelijk bericht voor de eigenschap Validatietekst opgeeft.

IS NOT NULL

AND

Hiermee wordt opgegeven dat alle delen van de validatieregel waar moeten zijn.

>= #01.01.2007# AND <=#03.06.2008#

Opmerking: U kunt AND ook gebruiken om validatieregels te combineren. Bijvoorbeeld: NOT "UK" AND LIKE "U*".

OF

Hiermee wordt opgegeven dat sommige maar niet alle delen van de validatieregel waar moeten zijn.

Januari OR Februari

<

Kleiner dan.

<=

Kleiner dan of gelijk aan.

>

Groter dan.

>=

Groter dan of gelijk aan.

=

Gelijk aan.

<>

Niet gelijk aan.

Jokertekens gebruiken in validatieregels

U kunt in validatieregels gebruikmaken van jokertekens. In Access worden twee jokertekensets ondersteund: ANSI-89 en ANSI-92. Bij beide sets worden verschillende jokertekens gebruikt.

Voor alle ACCDB- en MDB-bestanden wordt gebruikgemaakt van de ANSI-89-standaard.

U kunt de ANSI-standaard voor een database wijzigen in ANSI-92 door de volgende procedure uit te voeren:

  1. Klik op het tabblad Bestand op Opties.

  2. Klik in het dialoogvenster Opties voor Access op Ontwerpfuncties voor objecten.

  3. Selecteer in het gedeelte Queryontwerp onder Met SQL Server compatibele syntaxis (ANSI 92) de optie Deze database.

Zie het artikel Naslaginformatie over jokertekens in Access voor meer informatie over het gebruik van jokertekens en de ANSI-standaarden voor SQL.

Naar boven

Meer hulp nodig?

Meer opties?

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

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