Begrense inndata ved å bruke valideringsregler
Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan behandle eller validere data i Access-databaser mens du skriver dem inn, ved hjelp av valideringsregler. Du kan bruke uttrykksverktøyet til å hjelpe deg med å formatere regelen på riktig måte. Valideringsregler kan angis i tabellutformingen eller dataarkvisningen for tabeller. Det finnes tre typer valideringsregler i Access:

1. Feltvalideringsregel   Du kan bruke en feltvalideringsregel til å angi et vilkår som alle gyldige feltverdier må oppfylle. Du må ikke angi det gjeldende feltet som en del av regelen, med mindre du bruker feltet i en funksjon.  Begrensninger på tegntyper som skal angis i et felt, kan være enklere å sette opp med en Inndatamaske. Et datofelt kan for eksempel ha en valideringsregel som ikke tillater verdier i fortiden.

Kjappe eksempler:

Ikke tillat datoverdier i fortiden: >=Dato()

Generelt godtatt e-postformat: Er Null ELLER ((Like "*?@?*.? *") AND (Ikke lik "*[ ,;] *"))

Tall mindre enn eller kvart til fem: <=5

Valutafeltet kan ikke være negativt: >=0

Begrens tegnlengde i streng: Len([StringFieldName])<100

Feltvalideringsregel vist i Access-tabellutforming

2. Postvalideringsregel   Du kan bruke en postvalideringsregel til å angi en betingelse som alle gyldige poster må oppfylle. Du kan sammenligne verdier fra forskjellige felt med en regel for postvalidering. En post med to datofelter kan for eksempel kreve at verdiene i det ene feltet alltid kommer før verdier i det andre feltet (for eksempel Startdato kommer før Sluttdato).

Kjappe eksempler:

Kontroller at sluttdatoen ikke kommer før startdatoen: [Sluttdato]>=[Startdato]

Angi en nødvendig dato som ikke forekommer mer enn 30 dager etter ordredatoen: [RequiredDate]<=[OrderDate]+30

Tabellvalideringsregel i Access tabellutforming.

3. Validering i et skjema   Du kan bruke egenskapen Valideringsregel for en kontroll i et skjema til å angi et vilkår som alle verdier som skrives inn til denne kontrollen, må oppfylles. Kontrollegenskapen Valideringsregel fungerer som en feltvalideringsregel. Du bruker vanligvis en valideringsregel for skjemaet i stedet for en feltvalideringsregel hvis regelen bare gjelder for skjemaet og ikke for tabellen, uansett hvor den ble brukt.

I denne artikkelen

Oversikt

Denne artikkelen forklarer hvordan du bruker valideringsregler og valideringstekst i tabellfelt og skjemakontroller. En valideringsregel er en måte å begrense inndata i et tabellfelt eller en kontroll (for eksempel en tekstboks) i et skjema. Ved hjelp av valideringstekst kan du vise en melding som hjelper brukere som prøver å legge inn ugyldige data.

Når data legges inn, kontrollerer Access for å se om inndataene bryter en valideringsregel – hvis de gjør det, godtas ikke inndataene, og Access viser en melding.

Access kan begrense inndata på en rekke måter:

  • Datatyper   Alle tabellfelter har en datatype som begrenser hva brukere kan legge inn. Et dato/klokkeslettfelt godtar for eksempel bare datoer og klokkeslett, et valutafelt godtar bare pengeverdier og så videre.

  • Feltegenskaper   Enkelte feltegenskaper begrenser datainnlegging. Egenskapen Feltstørrelse for et felt begrenser for eksempel inndata ved å begrense datamengden.

    Du kan også bruke Valideringsregel-egenskapen for å kreve bestemte verdier og Valideringstekst for å varsle brukerne om eventuelle feil. Hvis du for eksempel skriver inn regelen >100 And <1000 i Valideringsregel-egenskapen, tvinges brukere til å skrive inn verdier mellom 100 og 1000. En regel som for eksempel [EndDate]>=[StartDate] tvinger brukere til å skrive inn en dato som inntreffer på eller etter en startdato. Ved å skrive inn tekst, for eksempel Angi verdier mellom 100 og 1000 eller Angi en sluttdato på eller etter startdatoen i Valideringstekst-egenskapen blir brukere informert om at de har begått en feil, og hvordan feilen skal rettes.

  • Inndatamasker   Du kan bruke en inndatamaske til å validere data ved å tvinge brukere til å angi verdier på en bestemt måte. En inndatamaske kan for eksempel tvinge brukere til å angi datoer i et europeisk format, for eksempel 14.04.2007.

Du kan bruke disse datavalideringsmetodene alene eller i kombinasjon med hverandre. Datatyper er ikke valgfritt og er den mest grunnleggende datavalideringstypen.

Hvis du vil ha mer informasjon om datatyper, feltstørrelser og inndatamasker, kan du se artikkelen Innføring i datatyper og feltegenskaper.

Typer valideringsregler

Du kan opprette to grunnleggende typer valideringsregler:

  • Feltvalideringsregler   Bruk en feltvalideringsregel når du skal kontrollere verdien som du angir i et felt når du går ut av feltet. Anta for eksempel at du har et datofelt, og du skriver inn >=#01.01.2010# i egenskapen Valideringsregel for dette feltet. Regelen krever nå at brukere skriver inn datoer på eller etter 01.01.2010. Hvis du skriver inn en dato før 2010 og deretter prøver å plassere fokus på et annet felt, blir du hindret i å forlate det gjeldende feltet før du har løst problemet.

  • Postvalideringsregler   Bruk en postvalideringsregel til å kontrollere når du kan lagre en post (en rad i en tabell). I motsetning til en feltvalideringsregel refererer en postvalideringsregel til andre felter i samme tabell. Du oppretter postvalideringsregler når du skal kontrollere verdiene i ett felt mot verdiene i et annet. Anta for eksempel at firmaet ditt krever at du skal levere produkter innen 30 dager og at du må refundere en del av kjøpesummen til kunden hvis du ikke leverer innen dette tidspunktet. Du kan definere en postvalideringsregel, for eksempel [Leveringsdato]<=[Ordredato]+30 for å sikre at ingen angir en forsendelsesdato (verdien i feltet Leveringsdato) for langt frem i tid.

Hvis syntaksen for valideringsregler virker kryptisk, kan du se delen Dette kan du plassere i en valideringsregel for å få en forklaring av syntaksen og noen eksempler på valideringsregler.

Her kan du bruke valideringsregler

Du kan definere valideringsregler for tabellfelt og kontroller i skjemaer. Når du definerer regler for tabeller, gjelder disse reglene bare når du importerer data. Hvis du vil legge til valideringsregler i en tabell, åpner du tabellen og bruker kommandoer på Tabellfelt-fanen på båndet. Hvis du vil legge til valideringsregler i et skjema, åpner du skjemaet i oppsettvisning og legger til regler i egenskapene for enkeltkontroller.

Trinnene i delen Legge til en valideringsregel for en tabell forklarer hvordan du legger til valideringsregler for tabellfelt. Trinnene i delen Legge til en valideringsregel for en kontroll i et skjema senere i denne artikkelen forklarer hvordan du legger til regler i egenskapene for individuelle kontroller.

Dette kan du plassere i en valideringsregel

Valideringsreglene kan inneholde uttrykk – funksjoner som returnerer én enkelt verdi. Du kan bruke et uttrykk for å utføre beregninger, redigere tegn eller teste data. Et valideringsregeluttrykk tester data. Et uttrykk kan for eksempel søke etter en serie med verdier, som "Tokyo" Or "Moscow" Or "Paris" Or "Helsinki". Uttrykk kan også utføre matematiske beregninger. Uttrykket <100 tvinger for eksempel brukere til å angi verdier lavere enn 100. Uttrykket ([OrderDate] - [ShipDate]) beregner antall dager mellom tidspunktet da en ordre ble plassert og tidspunktet da den ble levert.

Hvis du vil ha mer informasjon om å bruke uttrykk, kan du se artikkelen Opprette et uttrykk.

Toppen av siden

Legge til en valideringsregel for en tabell

Du kan legge til en feltvalideringsregel og/eller en postvalideringsregel. En feltvalideringsregel kontrollerer inndata til et felt og brukes når fokus tas vekk fra feltet. En postvalideringsregel kontrollerer inndata i ett eller flere felt og brukes når fokus tas vekk fra posten. En postvalideringsregel sammenligner vanligvis verdiene i to eller flere felt.

Obs!: Følgende felttyper støtter ikke valideringsregler:

  • Autonummer

  • OLE-objekt

  • Vedlegg

  • Replikasjons-ID

Opprette en feltvalideringsregel

  1. Velg feltet som du vil validere.

  2. Klikk Validering i Feltvalidering-gruppenfanen Tabellfelt, og klikk deretter Feltvalideringsregel.

  3. Bruk uttrykksverktøyet til å opprette regelen. Hvis du vil ha mer informasjon om bruk av uttrykksverktøyet, kan du se artikkelen Bruke uttrykksverktøyet.

Lage en melding som skal vises når feltinndata ikke er gyldige

  1. Velg feltet som trenger en melding når inndata ikke er gyldige. Feltet skal allerede ha en valideringsregel.

  2. Klikk Validering i Feltvalidering-gruppenfanen Tabellfelt, og klikk deretter Feltvalideringsmelding.

  3. Skriv inn en passende melding. Hvis valideringsregelen er >10, kan for eksempel meldingen være Skriv inn en verdi som er mindre enn 10.

Hvis du vil se en del eksempler på feltvalideringsregler og -meldinger, kan du se delen Referanse for valideringsregler.

Opprette en postvalideringsregel

  1. Åpne tabellen du vil validere poster for.

  2. Klikk Validering i Feltvalidering-gruppenfanen Tabellfelt, og klikk deretter Valideringsregel.

  3. Bruk uttrykksverktøyet til å opprette regelen. Hvis du vil ha mer informasjon om bruk av uttrykksverktøyet, kan du se artikkelen Bruke uttrykksverktøyet.

Lage en melding som skal vises når postinndata ikke er gyldige

  1. Åpne tabellen som trenger en melding når inndata ikke er gyldige. Posten skal allerede ha en postvalideringsregel.

  2. Klikk Validering i Feltvalidering-gruppenfanen Tabellfelt, og klikk deretter Valideringsmelding.

  3. Skriv inn en passende melding. Hvis valideringsregelen for eksempel er [StartDate]<[EndDate], kan meldingen være «StartDato må komme før sluttdato».

Toppen av siden

Teste eksisterende data med en ny valideringsregel

Når du legger til en valideringsregel i en eksisterende tabell, vil du kanskje teste regelen for å se om det finnes eksisterende data som ikke er gyldige.

  1. Åpne tabellen du vil teste, i utformingsvisning.

    Klikk Test valideringsregler i Verktøy-gruppenfanen Tabellutforming.

  2. Klikk Ja for å lukke varselmeldingen og starte testen.

  3. Klikk Ja hvis du blir spurt om du vil lagre tabellen.

  4. Det kan hende at du ser flere forskjellige varselmeldinger når du går videre. Les instruksjonene i hver melding, og klikk Ja eller Nei slik det passer for å fullføre eller stanse testingen.

Toppen av siden

Legge til en valideringsregel for en kontroll i et skjema

Du kan bruke Valideringsregel-egenskapen og Valideringstekst-egenskapen i en skjemakontroll for å validere data som legges inn i denne kontrollen, og hjelpe brukere som legger inn data som ikke er gyldige.

Tips!:  Hvis du oppretter et skjema automatisk fra en tabell med skjemakommandoene på båndet, arves eventuell validering for felt i den underliggende tabellen av de tilsvarende kontrollene i skjemaet.

En kontroll kan ha en annen valideringsregel enn tabellfeltet som kontrollen er bundet til. Dette er nyttig hvis du vil at skjemaet skal være mer restriktivt enn tabellen. Skjemaregelen brukes, og deretter brukes tabellregelen. Hvis tabellen er mer restriktiv enn skjemaet, har regelen som er definert for tabellfeltet, forrang. Hvis reglene er gjensidig utelukkende, hindrer de deg i å legge inn data.

Anta for eksempel at angir den følgende regelen i et datofelt i en tabell:

<#01.01.2010#

Men deretter angir du denne regelen i skjemakontrollen som er bundet til datofeltet:

>=#01.01.2010#

Datofeltet krever nå verdier som er før år 2010, men skjemakontrollen krever datoer fra dette året eller senere, slik at du hindres i å skrive inn data i det hele tatt.

Opprette en valideringsregel for en kontroll

  1. Høyreklikk skjemaet som du vil endre, og klikk deretter Oppsettvisning.

  2. Høyreklikk kontrollen som du vil endre, og klikk deretter Egenskaper for å åpne egenskapssiden for kontrollen.

  3. Klikk på Alle-fanen, og angi deretter valideringsregelen i egenskapsboksen Valideringsregel.

    Tips!:  Klikk Bygg-knappen for å starte uttrykksverktøyet.

    Hvis du vil ha mer informasjon om bruk av uttrykksverktøyet, kan du se artikkelen Bruke uttrykksverktøyet.

  4. Skriv inn en melding i egenskapsboksen Valideringstekst.

Toppen av siden

Referanse for valideringsregel

Valideringsregler bruker Access-uttrykkssyntaks. Hvis du vil ha mer informasjon om uttrykk, kan du se artikkelen Innføring i uttrykk.

Eksempler på valideringsregler og valideringstekst

Valideringsregel

Valideringstekst

<>0

Skriv inn en verdi som ikke er null.

>=0

Verdien må være lik null eller større.

- eller -

Du må skrive inn et positivt tall.

0 or >100

Verdien må være 0 eller større enn 100.

BETWEEN 0 AND 1

Skriv inn en verdi med et prosenttegn. (For bruk med et felt som lagrer tallverdier som prosenter).

<#01.01.2007#

Skriv inn en dato før 2007.

>=#01.01.2007# AND <#01.01.2008#

Datoen må være i 2007.

<Dato()

Fødselsdatoen kan ikke være i fremtiden.

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

Data i feltet Etternavn må være i store bokstaver.

>=Int(Now())

Skriv inn dagens dato.

M Or K

Angi M for mann eller K for kvinne.

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

Skriv inn en gyldig e-postadresse av typen .com, .net eller .org.

[RequiredDate]<=[OrderDate]+30

Skriv inn en leveringsdato som er maksimalt 30 dager etter ordredatoen.

[EndDate]>=[StartDate]

Skriv inn en sluttdato som er på eller etter startdatoen.

Syntakseksempler for vanlige valideringsregeloperatorer

Operator

Funksjon

Eksempel

NOT

Tester motsatte verdier. Bruker før alle sammenligningsoperatorer unntatt IS NOT NULL.

NOT > 10 (det samme som <=10).

IN

Tester verdier som er lik eksisterende medlemmer i en liste. Sammenligningsverdien må være en kommadelt liste omsluttet i parentes.

IN ("Tokyo","Paris","Moskva")

BETWEEN

Tester et område med verdier. Du må bruke to sammenligningsverdier – lav og høy – og du må skille disse verdiene med skilletegnet AND.

BETWEEN 100 AND 1000 (det samme som >=100 AND <=1000)

LIKE

Samsvarer med mønsterstrenger i tekst- og notatfelt.

LIKE "Geo*"

IS NOT NULL

Tvinger brukere til å angi verdier i feltet. Dette er det samme som å sette feltegenskapen Obligatorisk til Ja. Når du aktiverer egenskapen Obligatorisk og en bruker ikke angir en verdi, viser imidlertid Access en noe uvennlig feilmelding. Databasen er vanligvis enklere å bruke hvis du bruker IS NOT NULL og skriver inn en vennlig melding i egenskapen Valideringstekst.

IS NOT NULL

AND

Angir at alle deler av valideringsregelen må være sann.

>= #01.01.2007# AND <=#06.03.2008#

Obs!: Du kan også bruke AND til å kombinere valideringsregler. Eksempel: NOT "UK" AND LIKE "U*".

OR

Angir at noen, men ikke alle deler av valideringsregelen må være sann.

januar OR februar

<

Mindre enn.

<=

Mindre enn eller lik.

>

Større enn.

>=

Større enn eller lik.

=

Lik.

<>

Ikke lik.

Bruke jokertegn i valideringsregler

Du kan bruke jokertegn i valideringsregler. Husk at Access støtter to sett med jokertegn: ANSI-89 og ANSI-92. Hver av disse standardene bruker et eget sett med jokertegn.

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

Du kan endre ANSI-standarden for en database til ANSI-92 ved bruk av følgende prosedyre:

  1. Klikk Alternativer i kategorien Fil.

  2. Klikk Objektutformere i dialogboksen Alternativer for Access.

  3. Velg Denne databasen under SQL Server-kompatibel syntaks (ANSI 92) i Spørringsutforming-delen.

Hvis du vil ha mer informasjon om hvordan du bruker jokertegn og ANSI-standardene for SQL, kan du se artikkelen Referanse til jokertegn i Access.

Toppen av siden

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.