Begränsa indata med hjälp av verifieringsuttryck
Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan kontrollera och verifiera data i Access-databaser för skrivbordet när de matas in genom att använda verifieringsuttryck. Om du använder uttrycksverktyget får du hjälp med att formatera uttrycket på rätt sätt. Verifieringsuttryck kan anges i vyerna tabelldesign eller tabelldatablad. Det finns tre typer av verifieringsuttryck i Access:

1. Fältverifieringsuttryck   Du kan använda ett fältverifieringsuttryck för att ange ett villkor som måste uppfyllas för alla giltiga fältvärden. Du behöver bara ange det aktuella fältet som en del av uttrycket om du använder fältet i en funktion.  Begränsningar för vilka typer av tecken som får anges i ett fält kan vara enklare att göra med en Indatamask. Till exempel kan ett datafält ha ett verifieringsuttryck som inte tillåter värden i förfluten tid.

Snabba exempel:

Tillåt inte tidigare datumvärden: >=Datum()

Allmänt accepterat e-postformat: Är Null ELLER ((Som "*?@?*.? *") OCH (Inte som "*[ ,;] *"))

Tal som är mindre än eller kvalificerar till fem: <=5

Valutafält kan inte vara negativt: >=0

Begränsa teckenlängden i sträng: Längd([StringFieldName])<100

Fältverifieringsuttryck som visas i tabelldesignern i Access

2. Postverifieringsuttryck   Du kan använda ett postverifieringsuttryck för att ange ett villkor som alla giltiga poster måste uppfylla. Du kan jämföra värden mellan olika fält med postverifieringsuttrycket. En post med två datumfält kan till exempel kräva att ett fälts värden alltid föregår det andra fältets värden (till exempel att Startdatum föregår Slutdatum).

Snabba exempel:

Kontrollera att slutdatumet inte infaller före startdatumet: [Slutdatum]>=[Startdatum]

Ange ett obligatoriskt datum som inträffar högst 30 dagar efter orderdatumet: [BegärtDatum]<=[Orderdatum]+30

Verifieringsuttryck för tabell i tabelldesignern i Access.

3. Verifiering i ett formulär   Du kan använda egenskapen Verifieringsuttryck för en kontroll i ett formulär för att ange ett villkor som måste uppfyllas för alla värden som matas in i kontrollen. Egenskapen Verifieringsuttryck för kontroller fungerar som ett fältverifieringsuttryck. Vanligtvis använder du ett verifieringsuttryck för formulär i stället för ett fältverifieringsuttryck om uttrycket bara ska gälla specifikt för formuläret och inte för tabellen, oavsett var den används.

Artikelinnehåll

Översikt

Den här artikeln innehåller en förklaring av hur du använder verifieringsuttryck och verifieringstext i tabellfält och formulärkontroller. Att använda ett verifieringsuttryck är ett sätt att begränsa inmatning i ett tabellfält eller en kontroll i ett formulär (t.ex. en textruta). Med verifieringstext kan du visa ett meddelande för användare som matar in ogiltiga data.

När data matas in kontrolleras det om inmatningen bryter mot något verifieringsuttryck. Om så är fallet godtas inte inmatningen och det visas ett meddelande i Access.

Du kan begränsa inmatning på flera sätt i Access:

  • Datatyper   Alla tabellfält har en datatyp som begränsar vad användaren kan mata in. T.ex. går det endast att mata in datum och tider i datum/tid-fält, och endast valutadata i valutafält.

  • Fältegenskaper   Vissa fältegenskaper begränsar vilka data som kan matas in. T.ex begränsar ett fälts Fältstorlek-egenskap mängden data som kan matas in.

    Du kan även använda egenskapen Verifieringsuttryck om du vill kräva särskilda värden, och egenskapen Verifieringstext om du vill uppmärksamma användarna på eventuella misstag. Om du t.ex. anger uttrycket >100 Och <1000 i Verifieringsuttryck-egenskapen måste användarna ange värden mellan 100 och 1 000. Ett uttryck som [Slutdatum]>=[Startdatum] tvingar användarna att ange ett slutdatum som inträffar från och med ett startdatum. Du kan uppmärksamma användarna på eventuella fel och hur de åtgärdar dem genom att skriva "Ange värden mellan 100 och 1 000" eller "Ange ett slutdatum som inträffar från och med startdatumet" i Verifieringstext-egenskapen.

  • Indatamasker   Du kan använda en indatamask för att verifiera data genom att tvinga användarna att ange värden på ett visst sätt. T.ex. kan en indatamask tvinga användarna att ange datum i europeiskt format, t.ex. 2007-04-14.

Du kan använda de här metoderna för dataverifiering fristående eller i kombination med varandra. Datatyper är inte valfria och det ger den mest grundläggande typen av dataverifiering.

Mer information om datatyper, fältstorlekar och indatamasker finns i artikeln Introduktion till datatyper och fältegenskaper.

Typer av verifieringsuttryck

Du kan skapa två grundläggande typer av verifieringsuttryck:

  • Fältverifieringsuttryck   Använd ett fältverifieringsuttryck för att kontrollera värdet som du anger i ett fält när du lämnar fältet. Anta till exempel att du har ett datumfält där du anger >=#2010-01-01# i fältets Verifieringsuttryck-egenskap. Det här uttrycket kräver att användarna anger datum från och med 1 januari 2010. Om du anger ett datum före 2010 och sedan försöker placera fokus i ett annat fält hindras du i Access att lämna det aktuella fältet tills problemet är åtgärdat.

  • Postverifieringsuttryck   Du kan använda ett postverifieringsuttryck för att styra när det går att spara en post (en rad i tabellen). Till skillnad från fältverifieringsuttryck refererar postverifieringsuttryck till andra fält i samma tabell. Du kan skapa postverifieringsuttryck när du behöver kontrollera värden i ett fält mot värden i ett annat. Anta t.ex. att verksamheten kräver att produkter levereras inom 30 dagar, annars måste en del av inköpspriset betalas tillbaka till kunden. Du kan ange ett postverifieringsuttryck som [Begärt_leveransdatum]<=[Orderdatum]+30 för att säkerställa att ingen anger ett leveransdatum (värdet i fältet Begärt_leveransdatum) som ligger för långt fram.

Om du behöver en förklaring av verifieringsuttryckens syntax och vill se exempel på verifieringsuttryck kan du läsa avsnittet Det här kan du ange i verifieringsuttryck.

Här kan du använda verifieringsuttryck

Du kan ange verifieringsuttryck för tabellfält och för kontroller i formulär. Uttryck som du anger för tabeller gäller vid import av data. Om du vill lägga till verifieringsuttryck i en tabell öppnar du tabellen och använder kommandona på fliken Tabellfält i menyfliksområdet. Om du vill lägga till verifieringsuttryck i ett formulär öppnar du det i layoutvy och lägger till uttryck i de enskilda kontrollernas egenskaper.

Instruktionerna i avsnittet Lägga till ett verifieringsuttryck i en tabell visar hur du lägger till verifieringsuttryck i tabellfält. Instruktionerna i avsnittet Lägga till ett verifieringsuttryck i en kontroll i ett formulär längre fram i den här artikeln visar hur du lägger till regler i enskilda kontrollers egenskaper.

Det här kan du ange i verifieringsuttryck

Dina verifieringsuttryck kan innehålla uttryck – funktioner som returnerar ett enda värde. Du kan använda uttryck för att utföra beräkningar, ändra tecken och testa data. Ett uttryck för ett verifieringsuttryck används för att testa data. Ett uttryck kan t.ex. användas för att kontrollera en värdeserie som "Tokyo" Eller "Moskva" Eller "Paris" Eller "Helsingfors". Uttryck kan även användas för att utföra matematiska operationer. T.ex. tvingar uttrycket <100 användaren att ange värden som är mindre än 100. Uttrycket ([Orderdatum] - [Leveransdatum]) används för att beräkna antalet förflutna dagar mellan det datum då en order lades och det datum då den levererades.

Mer information om uttryck finns i artikeln Skapa ett uttryck.

Överst på sidan

Lägga till ett verifieringsuttryck i en tabell

Du kan lägga till ett fältverifieringsuttryck och/eller ett postverifieringsuttryck. Med ett fältverifieringsuttryck kontrolleras inmatningen i ett fält och det används när användaren flyttar fokus från fältet. Med ett postverifieringsuttryck kontrolleras inmatningen i ett eller flera fält och det används när användaren flyttar fokus från posten. Vanligtvis används ett postverifieringsuttryck för att jämföra värden hos två eller fler fält.

Meddelanden: Följande fälttyper stöder inte verifieringsuttryck:

  • Räknare

  • OLE-objekt

  • Bifogad fil

  • Replikerings-ID

Skapa ett fältverifieringsuttryck

  1. Markera fältet som du vill verifiera.

  2. Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Fältverifieringsuttryck.

  3. Skapa uttrycket i Uttrycksverktyget. Mer information om hur du använder Uttrycksverktyget finns i artikeln Använda Uttrycksverktyget.

Ange ett meddelande som ska visas vid ogiltig fältinmatning

  1. Markera önskat fält. Det ska redan ha ett verifieringsuttryck.

  2. Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Fältverifieringsmeddelande.

  3. Skriv ett lämpligt meddelande. Om verifieringsuttrycket till exempel är >10 kan meddelandet bli ”Ange ett värde som är mindre än 10.”

Det finns några exempel på uttryck och meddelanden för fältverifiering i avsnittet Referens för verifieringsuttryck.

Skapa ett postverifieringsuttryck

  1. Öppna tabellen som du vill verifiera poster i.

  2. Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Verifieringsuttryck.

  3. Skapa uttrycket i Uttrycksverktyget. Mer information om hur du använder Uttrycksverktyget finns i artikeln Använda Uttrycksverktyget.

Ange ett meddelande som ska visas vid ogiltig postinmatning

  1. Öppna önskad tabell. Den ska redan ha ett postverifieringsuttryck.

  2. Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Verifieringsmeddelande.

  3. Skriv ett lämpligt meddelande. Om verifieringsuttrycket till exempel är [Startdatum]<[EndDate], kan meddelandet vara "Startdatum måste föregå EndDate".

Överst på sidan

Testa befintliga data mot ett nytt verifieringsuttryck

Om du lägger till ett verifieringsuttryck i en befintlig tabell kanske du vill testa uttrycket för att se om det finns befintliga data som är ogiltiga.

  1. Öppna tabellen som du vill testa i designvyn.

    Klicka på Testa verifieringsuttryck i gruppen Verktyg på fliken Tabelldesign.

  2. Stäng varningsmeddelandet genom att klicka på Ja så att testet startar.

  3. Klicka på Ja om du uppmanas spara tabellen.

  4. Det kan visas olika varningsmeddelanden när du fortsätter. Läs instruktionerna i alla meddelanden och klicka på Ja eller Nej efter vad som är lämpligt om du vill slutföra eller stoppa testet.

Överst på sidan

Lägga till ett verifieringsuttryck i en kontroll i ett formulär

Du kan använda egenskaperna Verifieringsuttryck och Verifieringstext för en formulärkontroll om du vill verifiera data som matas in i kontrollen och för att hjälpa användare som matar in ogiltiga data.

Tips:  Om du skapar ett formulär från en tabell på automatisk väg med hjälp av ett av menyfliksområdets formulärkommandon överförs eventuell fältverifiering i den underliggande tabellen till motsvarande kontroller i formuläret.

En kontroll kan ha ett annat verifieringsuttryck än tabellfältet som kontrollen är bunden till. Det kan vara användbart om du vill att formuläret ska vara mer begränsande än tabellen. Formuläruttrycket används och sedan används tabelluttrycket. Om tabellen är mer begränsande än formuläret åsidosätter tabellens uttryck formulärets uttryck. Om uttrycken är ömsesidigt uteslutande går det inte att mata in data.

Anta t.ex. att du använder följande uttryck i en tabells datumfält:

<#2010-01-01#

Sedan använder du följande uttryck i formulärkontrollen som är bunden till datumfältet:

>=#2010-01-01#

Samtidigt som det krävs datum före år 2010 i datumfältet, så krävs det datum från 2010 och senare i formulärkontrollen. Det gör att det inte går att ange data.

Skapa ett verifieringsuttryck för en kontroll

  1. Högerklicka på formuläret som du vill ändra och klicka sedan på Layoutvy.

  2. Högerklicka på önskad kontroll och klicka sedan på Egenskaper så att kontrollens egenskapssida öppnas.

  3. Klicka på fliken Alla och ange sedan verifieringsuttrycket i egenskapsrutan Verifieringsuttryck.

    Tips:  Klicka på knappen Skapa så att Uttrycksverktyget öppnas.

    Mer information om hur du använder Uttrycksverktyget finns i artikeln Använda Uttrycksverktyget.

  4. Skriv ett meddelande i egenskapsrutan Verifieringstext.

Överst på sidan

Referens för verifieringsuttryck

I verifieringsuttryck används Access uttryckssyntax. Mer information om uttryck finns i artikeln Introduktion till uttryck.

Exempel på verifieringsuttryck och verifieringstext

Verifieringsuttryck

Verifieringstext

<>0

Ange ett värde som inte är noll.

>=0

Värdet måste vara noll eller större.

- eller -

Du måste ange ett positivt värde.

0 eller >100

Värdet måste vara antingen 0 eller större än 100.

MELLAN 0 OCH 1

Ange ett värde med ett procenttecken. (För användning med ett fält där tal lagras som procentvärden).

<#2007-01-01#

Ange ett datum före 2007.

>=#2007-01-01# OCH <#2008-01-01#

Datumet måste infalla under 2007.

<Datum()

Födelsedatum kan inte inträffa i framtiden.

JmfStr(Versaler([Efternamn]), [Efternamn],0) = 0

Data i fält med namnet Efternamn måste vara versala tecken.

>=Heltal(Nu())

Ange dagens datum.

M Eller K

Ange M för man eller K för kvinna.

SOM "[A-Z]*@[A-Z].com" ELLER "[A-Z]*@[A-Z].net" ELLER "[A-Z]*@[A-Z].org"

Ange en giltig e-postadress som slutar på .com, .net eller .org.

[Begärt_leveransdatum]<=[Orderdatum]+30

Ange ett begärt leveransdatum som inträffar högst 30 dagar efter orderdatum.

[Slutdatum]>=[Startdatum]

Ange ett slutdatum som är det samma som startdatum eller senare.

Syntaxexempel för vanliga verifieringsuttrycksoperatorer

Operator

Funktion

Exempel

INTE

Test av motsatta värden. Används före andra jämförelseoperatorer förutom ÄR ICKE NULL.

INTE > 10 (samma som <=10).

I

Test om värden är lika med befintliga medlemmar i en lista. Jämförelsevärdet måste vara en kommaseparerad lista omsluten av parenteser.

I ("Tokyo","Paris","Moskva")

MELLAN

Test av ett värdeintervall. Du måste använda två jämförelsevärden – lågt och högt – om dessa värden måste avgränsas med OCH-avgränsaren.

MELLAN 100 OCH 1000 (samma som >=100 OCH <=1000)

SOM

Matchar mönstersträngar i text- och PM-fält.

SOM "Geo*"

ÄR ICKE NULL

Tvingar användarna att ange värden i fältet. Det här är samma inställning som om fältegenskapen Obligatorisk har värdet Ja. Men om du aktiverar Obligatorisk-egenskapen och användaren inte anger något värde visas ett felmeddelande i Access som kan vara svårtolkat. Databasen blir vanligtvis enklare att använda om du använder ÄR ICKE NULL och skriver ett lättförståeligt meddelande i egenskapen Verifieringstext.

ÄR ICKE NULL

OCH

Anger att alla delar av verifieringsuttrycket måste vara sanna.

>= #2007-01-01# OCH <=#2008-06-03#

Obs!: Du kan även använda OCH för att kombinera verifieringsuttryck. Exempel: INTE "UK" OCH SOM "U*".

ELLER

Anger att vissa, men inte alla, delar av verifieringsuttrycket måste vara sanna.

Januari ELLER Februari

<

Mindre än.

<=

Mindre än eller lika med.

>

Större än.

>=

Större än eller lika med.

=

Lika med.

<>

Inte lika med.

Använda jokertecken i verifieringsuttryck

Du kan använda jokertecken i verifieringsuttryck. Kom dock ihåg att Access har stöd för två standarduppsättningar med olika jokertecken: ANSI-89 och ANSI-92. Alla dessa standarder använder olika uppsättningar av jokertecken.

Som standard använder alla .accdb- och .mdb-filer standarden ANSI-89.

Så här ändrar du en databas ANSI-standard till ANSI-92:

  1. Klicka på Alternativ på fliken Arkiv.

  2. Klicka på Objektdesigner i dialogrutan Access-alternativ.

  3. Markera I den här databasen i avsnittet Frågedesign under SQL Server-kompatibel syntax (ANSI 92).

Mer information om hur du använder jokertecken och ANSI-standarderna för SQL finns i artikeln Referens till jokertecken i Access.

Överst på sidan

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.