Opret en valideringsregel for at validere data i et felt

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan validere de angivne data i Access-skrivebordsdatabaser ved hjælp af valideringsregler. Du kan bruge udtryksgeneratoren til at formatere reglen korrekt. Valideringsregler kan angives i enten tabeldesign- eller tabeldataarkvisning. Der findes tre typer valideringsregler i Access:

  1. Feltvalideringsregel Du kan bruge en feltvalideringsregel til at angive et kriterium, som alle gyldige feltværdier skal opfylde. Det bør ikke være nødvendigt at angive det aktuelle felt som en del af reglen, medmindre du bruger feltet i en funktion. Begrænsninger for typer af tegn i et felt kan være nemmere med en inputmaske. Et datofelt kan f.eks. have en valideringsregel, som ikke tillader værdier i fortiden.

Hurtig eksempler:

Tillad ikke datoværdier i fortiden: >=Dato()

Generelt accepteret mailformat: Is Null OR ((Like "*?@?*.? *") AND (Not Like "*[ ,;]*"))

Tal, der er mindre end eller fra qual til fem: <=5

Valutafelt må ikke være negativt: >=0

Begræns tegnlængden i streng: Len([StringFieldName])<100

Feltvalideringsregel vist i Access-tabeldesigner

  1. Postvalideringsregel Du kan bruge en postvalideringsregel til at angive en betingelse, som alle gyldige poster skal opfylde. Du kan sammenligne værdier på tværs af forskellige felter ved hjælp af en postvalideringsregel. F.eks, en post med to felter kan medføre, at værdierne i et felt altid foran værdierne i et andet felt (f.eks. startdato er før EndDate).

Hurtig eksempler:

Kontrollér, at slutdatoen ikke kommer før startdatoen: [Slutdato]>=[Startdato]

Angiv en påkrævet dato, der højst ligger 30 dage efter ordredatoen: [Leveringsdato]<=[Ordredato]+30

En tabelvalideringsregel i Access-tabeldesigner.

  1. Validering af en formular Du kan bruge egenskaben Valideringsregel for et kontrolelement i en formular til at angive et kriterium, som alle værdier i kontrolelementet skal opfylde. Egenskaben Valideringsregel for kontrolelementer fungerer på samme måde som en feltvalideringsregel. Du bruger typisk en formularvalideringsregel i stedet for en feltvalideringsregel, hvis reglen er specifik for kun den pågældende formular og ikke for tabellen, uanset hvor den blev brugt.

I denne artikel

Oversigt

Denne artikel forklarer, hvordan du bruger valideringsregler og Valideringsmeddelelse felter og kontrolelementer. En valideringsregel er én måde at begrænse input i et tabelfelt eller kontrolelement (f.eks et tekstfelt) i en formular. Valideringsmeddelelse giver du en meddelelse, kan brugere indtaste data, der ikke er gyldig.

Når dataene er angivet, kontrolleres det, om de bryder en valideringsregel. Hvis det er tilfældet, bliver inputtet ikke accepteret, og der vises en meddelelse.

Der findes flere måder i Access, hvorpå du kan begrænse input:

  • Datatyper Hvert tabelfelt har en datatype, der begrænser, hvad brugerne kan angive. F.eks, et dato/klokkeslæt-felt accepterer kun datoer og klokkeslæt, et valutafelt accepterer kun Monetære data, og så videre.
  • Feltegenskaber Nogle feltegenskaber begrænser datainput. Egenskaben Feltstørrelse begrænser f.eks. inputtet i et felt til et bestemt antal tegn.
    Du kan også bruge den valideringsregel at kræve bestemte værdier, og Valideringsmeddelelse at advare brugerne om fejl. Hvis du f.eks. angiver en regel som >100 og <1000 i egenskaben Valideringsregel , tvinger det brugerne til at angive værdier mellem 100 og 1.000. En regel som [EndDate]>=[Startdato] tvinger brugerne til at angive en slutdato, der forekommer på eller efter en startdato. At skrive tekst, f.eks. "Angiv værdier mellem 100 og 1.000" eller "Angiv en slutdato på eller efter startdatoen" i den Valideringsmeddelelse egenskaben fortæller brugerne, når de har en fejl, og hvordan du kan rette fejlen.
  • Inputmasker Du kan bruge en inputmaske til at validere data ved at tvinge brugerne til at angive værdier på en bestemt måde. En inputmaske kan f.eks, tvinge brugere til at angive datoer i europæisk format, f.eks 2007.04.14.

Du kan bruge disse metoder til at validere data alene eller i kombination med hinanden. Datatyper er ikke valgfri, og de giver den mest grundlæggende type datavalidering.

Du kan finde oplysninger om datatyper, feltstørrelser og inputmasker i artiklen Introduktion til datatyper og feltegenskaber.

Typer af valideringsregler

Du kan oprette to grundlæggende typer valideringsregler:

  • Feltvalideringsregler Brug en feltvalideringsregel til at kontrollere den værdi, du angiver i et felt, når du forlader feltet. Antag f.eks., at du har et datofelt, og du angiver >=#01-01-2010# i egenskaben Valideringsregel for det pågældende felt. Reglen kræver, at brugerne skal angive datoer på eller efter 1. januar 2010. Hvis du angiver en dato, der ligger før 2010, og prøv derefter at flytte fokus til et andet felt, kan Access forhindrer dig i at forlade det aktuelle felt, indtil du kan løse problemet.
  • Postvalideringsregler Brug en postvalideringsregel til at styre, hvornår du kan gemme en post (en række i en tabel). I modsætning til en feltvalideringsregel henviser en postvalideringsregel til andre felter i samme tabel. Du kan oprette postvalideringsregler, når du vil kontrollere værdierne i et felt med værdierne i en anden. Antag f.eks, din virksomhed kræver, at du sender produkter inden for 30 dage, og, hvis du ikke sender inden for dette tidsrum, skal du refunderet en del af købsprisen til din kunde. Du kan definere en postvalideringsregel som f.eks . [RequiredDate]<=[OrderDate]+30 for at sikre, at nogen ikke angiver en forsendelsesdato (værdien i feltet Leveringsdato) for langt ude i fremtiden.

Hvis du synes, at syntaksen for valideringsregler ser kryptisk ud, skal du se afsnittet Hvad kan en valideringsregel indeholde?, som indeholder en beskrivelse af syntaksen og nogle eksempler på valideringsregler.

Hvor kan du bruge valideringsregler?

Du kan angive valideringsregler for tabelfelter og kontrolelementer i formularer. Hvis du angiver regler for tabeller, træder disse regler i kraft, når du importerer data. Hvis du vil føje valideringsregler til en tabel, skal du åbne tabellen og bruge kommandoerne under fanen Tabelfelter på båndet. Hvis du vil føje valideringsregler til en formular, skal du åbne formularen i layoutvisning og føje reglerne til egenskaberne for de enkelte kontrolelementer.

I afsnittet Føje en valideringsregel til en tabel beskrives det, hvordan du føjer valideringsregler til tabelfelter. I afsnittet Føje en valideringsregel til et kontrolelement på en formular, senere i denne artikel, forklares det, hvordan du føjer regler til egenskaberne for individuelle kontrolelementer.

Hvad kan en valideringsregel indeholde?

Valideringsregler kan indeholde udtryk-funktioner, der returnerer en enkelt værdi. Udtryk bruges mange steder til at udføre beregninger, redigere tegn eller teste data. En regel valideringsudtryk tester data. F.eks, et udtryk kan søge efter en af en række værdier, f.eks "Tokyo" eller "Moskva" eller "Paris" eller "Helsinki". Udtryk kan også udføre matematiske operationer. Eksempelvis tvinger udtrykket <100 brugerne til at angive værdier, der er mindre end 100. Udtrykket ([Ordredato] - [Forsendelsesdato]) beregner antallet af dage, der er gået mellem det tidspunkt, hvor en ordre, der blev placeret og den sendes.

Du kan få mere at vide om udtryk i artiklen Opret et udtryk.

Toppen af siden

Føje en valideringsregel til en tabel

Du kan tilføje en feltvalideringsregel og/eller en postvalideringsregel. En feltvalideringsregel kontrollerer input for et felt, og der anvendes, når fokus flyttes til feltet. En feltvalideringsregel kontrollerer input for et felt, og der anvendes, når fokus flyttes til feltet. Som regel sammenligner en postvalideringsregel værdierne i to eller flere felter.

Bemærk

Følgende felttyper understøtter ikke valideringsregler:

  • Autonummerering
  • OLE-objekt
  • Vedhæftet fil
  • Replikerings-id

Oprette en feltvalideringsregel

  1. Vælg det felt, du vil validere.
  2. Klik på Validering i gruppen Feltvalidering under fanen Tabelfelter, og klik derefter på Feltvalideringsregel.
  3. Brug Udtryksgenerator til at oprette reglen. Du kan finde oplysninger om brug af Udtryksgenerator i artiklen Brug af Udtryksgenerator.

Oprette en meddelelse, der skal vises for ugyldigt feltinput

  1. Vælg det felt, hvor der skal vises en meddelelse for ugyldigt input. Feltet skal allerede have en valideringsregel.
  2. Klik på Validering i gruppen Feltvalidering under fanen Tabelfelter, og klik derefter på Feltvalideringsmeddelelse.
  3. Skriv en meddelelse. Hvis valideringsreglen f.eks. er >10, kan meddelelsen være "Angiv en værdi, der er mindre end 10".

Du kan se eksempler på feltvalideringsregler og meddelelser i afsnittet Referenceoplysninger til valideringsregler.

Oprette en postvalideringsregel

  1. Åbn den tabel, du vil validere poster for.
  2. Klik på Validering i gruppen Feltvalidering under fanen Tabelfelter, og klik derefter på Valideringsregel.
  3. Brug Udtryksgenerator til at oprette reglen. Du kan finde oplysninger om brug af Udtryksgenerator i artiklen Brug af Udtryksgenerator.

Oprette en meddelelse, der skal vises for ugyldigt postinput

  1. Åbn den tabel, hvor der skal vises en meddelelse for ugyldigt input. Tabellen skal allerede have en postvalideringsregel.
  2. Klik på Validering i gruppen Feltvalidering under fanen Tabelfelter, og klik derefter på Valideringsmeddelelse.
  3. Skriv en meddelelse. Hvis valideringsreglen f.eks. er [Startdato]<[Slutdato], kan meddelelsen være "Startdato skal være før Slutdato".

Toppen af siden

Teste eksisterende data mod en ny valideringsregel

Hvis du føjer en valideringsregel til en eksisterende tabel, kan du teste reglen for at se, om nogle af de eksisterende data er ugyldige.

  1. Åbn den tabel, du vil teste, i designvisning.
    Klik på Test valideringsregler i gruppen Værktøjer under fanen Tabeldesign.
  2. Klik på Ja for at lukke meddelelsen, og start testproceduren.
  3. Klik på Ja, hvis du bliver bedt om at gemme tabellen.
  4. Der vises muligvis en række andre meddelelser, når du fortsætter. Læs instruktionerne i hver meddelelse, og klik derefter på Ja eller Nej for at gennemføre eller afbryde testen.

Toppen af siden

Føj en valideringsregel til et kontrolelement på en formular

Du kan bruge egenskaberne Valideringsregel og Valideringsmeddelelse for et kontrolelement på en formular til at validere de data, der angives i kontrolelementet, og til at hjælpe de brugere, der angiver ugyldigt input.

Tip

Hvis du opretter en formular automatisk fra en tabel ved at bruge en af formularkommandoerne på båndet, nedarves al validering for felterne i den underliggende tabel af de tilsvarende kontrolelementer på formularen.

En kontrolelement kan have en anden valideringsregel end det tabelfelt, som kontrolelementet er bundet til. Dette er praktisk, hvis formularen skal være mere begrænsende end tabellen. Formularreglen anvendes, og derefter anvendes tabelreglen. Hvis tabellen er mere begrænsende end formularen, har reglen for tabelfeltet forrang. Hvis reglerne udelukker hinanden, kan der slet ikke angives data.

Lad os f.eks. antage, at du tildeler følgende regel til et datafelt i en tabel:

<#01/01/2010#

Men derefter tildeler du følgende regel til det kontrolelement på formularen, som er bundet til datofeltet:

>=#01-01-2010#

Datofeltet kræver nu værdier, der er tidligere end år 2010, men kontrolelementet på formularen kræver datoer med det årstal eller senere, og der kan derfor slet ikke angives nogen data.

Oprette en valideringsregel for et kontrolelement

  1. Højreklik på den formular, du vil ændre, og klik derefter på Layoutvisning.

  2. Højreklik på det kontrolelement, du vil ændre, og klik derefter på Egenskaber for at åbne kontrolelementets egenskabsark.

  3. Klik på fanen Alle, og angiv derefter valideringsreglen i egenskabsfeltet Valideringsregel.

    Tip

    Klik på knappen Byg for at starte Udtryksgenerator.

    Du kan finde flere oplysninger om brug af Udtryksgenerator i artiklen Brug af Udtryksgenerator.

  4. Skriv en meddelelse i egenskabsfeltet Valideringsmeddelelse.

Toppen af siden

Referenceoplysninger til valideringsregler

Valideringsregler bruger Access-syntaksen for udtryk. Du kan finde flere oplysninger om udtryk i artiklen Introduktion til udtryk.

Eksempler på valideringsregler og valideringsmeddelelser

Valideringsregel Valideringsmeddelelse
<>0 Angiv en værdi, der er forskellig fra nul.
>=0 Værdien skal være lig med eller større end nul.
Eller
Du skal angive et positivt tal.
0 eller >100 Værdien skal enten være 0 eller større end 100.
BETWEEN 0 AND 1 Indtast en værdi med et procenttegn. (bruges til et felt, der gemmer talværdier som procenter).
<#01/01/2007# Angiv en dato, der ligger før 2007.
>=#01-01-2007# AND <#01-01-2008# Datoen skal være i 2007.
<Date() Fødselsdatoen kan ikke være en fremtidig dato.
StrComp(UCase([Efternavn]),
[Efternavn],0) = 0
Dataene i et felt med navnet Efternavn skal skrives med store bogstaver.
>=Int(Now()) Angiv dags dato.
M Or K Angiv M for mand eller K for kvinde.
LIKE "[A-Z]*@[A-Z].com" OR "[A-Z]*@[A-Z].net" OR "[A-Z]*@[A-Z].org" Angiv en gyldig mailadresse med domæneendelsen .com, .net eller .org.
[Leveringsdato]<=[Ordredato]+30 Angiv en leveringsdato, der højst er 30 dage efter ordredatoen.
[Slutdato]>=[Startdato] Angiv en slutdato, der er identisk med eller senere end startdatoen.

Syntakseksempler for almindelige operatorer til valideringsregler

Operator Funktion Eksempel
NOT Undersøger, om der findes modsatte værdier. Skal bruges inden sammenligningsoperatorerne, bortset fra IS NOT NULL. NOT > 10 (det samme som <=10).
I Undersøger, om der findes værdier, som svarer til elementerne på listen. En sammenligningsværdi skal være en kommasepareret liste, der er indsat i parenteser. IN ("Tokyo","Paris","Moskva")
BETWEEN Undersøger, om der findes værdier inden for et værdiinterval. Du skal bruge to sammenligningsværdier – den laveste og højeste værdi – og adskille disse værdier med en AND-separator. BETWEEN 100 AND 1000 (det samme som >=100 AND <=1000)
LIKE Finder tilsvarende mønsterstrenge i tekst- og notatfelter. LIKE "Geo*"
IS NOT NULL Tvinger brugerne til at angive værdier i feltet. Svarer til at angive feltegenskaben Obligatorisk til Ja. Hvis egenskaben Obligatorisk aktiveres, viser Access imidlertid en noget uvenlig fejlmeddelelse, når en bruger undlader at angive en værdi. Din database er typisk nemmere at bruge, hvis du bruger operatoren IS NOT NULL og skriver en venlig meddelelse i egenskabsfeltet Valideringsmeddelelse. IS NOT NULL
AND Angiver, at alle dele af valideringsreglen skal være sande. >= #01-01-2007# AND <=#03-06-2008#
Bemærk: Du kan også bruge AND til at kombinere valideringsregler. NOT "UK" AND LIKE "U*".
OR Angiver, at alle, men ikke alle, dele af valideringsreglen skal være sande. Januar OR Februar
< Mindre end
<= Mindre end eller lig med
> Større end
>= Større end eller lig med
⁠=⁠ Lig med.
<> Forskellig fra

Brug af jokertegn i valideringsregler

Du kan bruge jokertegn i valideringsreglerne. Husk på, at Access understøtter to sæt jokertegn: ANSI-89 og ANSI-92. Disse standarder bruger forskellige jokertegn.

Som standard anvender alle .accdb- og .mdb-filer ANSI-89-standarden.

Du kan ændre ANSI-standarden for en database til ANSI-92 ved at bruge følgende procedure:

  1. Klik på Indstillinger under fanen Filer.
  2. Klik på Objektdesignere i dialogboksen Access-indstillinger.
  3. Vælg Denne database under SQL Server-kompatibel syntaks (ANSI-92) i Forespørgselsdesign.

Du kan finde flere oplysninger om brug af jokertegn og ANSI-standarder for SQL i artiklen Reference til jokertegn i Access.

Toppen af siden