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
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
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.
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
-
Markera fältet som du vill verifiera.
-
Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Fältverifieringsuttryck.
-
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
-
Markera önskat fält. Det ska redan ha ett verifieringsuttryck.
-
Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Fältverifieringsmeddelande.
-
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
-
Öppna tabellen som du vill verifiera poster i.
-
Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Verifieringsuttryck.
-
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
-
Öppna önskad tabell. Den ska redan ha ett postverifieringsuttryck.
-
Klicka på Verifiering i gruppen Fältverifiering på fliken Tabellfält och klicka sedan på Verifieringsmeddelande.
-
Skriv ett lämpligt meddelande. Om verifieringsuttrycket till exempel är [Startdatum]<[EndDate], kan meddelandet vara "Startdatum måste föregå EndDate".
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.
-
Öppna tabellen som du vill testa i designvyn.
Klicka på Testa verifieringsuttryck i gruppen Verktyg på fliken Tabelldesign.
-
Stäng varningsmeddelandet genom att klicka på Ja så att testet startar.
-
Klicka på Ja om du uppmanas spara tabellen.
-
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.
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
-
Högerklicka på formuläret som du vill ändra och klicka sedan på Layoutvy.
-
Högerklicka på önskad kontroll och klicka sedan på Egenskaper så att kontrollens egenskapssida öppnas.
-
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.
-
Skriv ett meddelande i egenskapsrutan Verifieringstext.
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:
-
Klicka på Alternativ på fliken Arkiv.
-
Klicka på Objektdesigner i dialogrutan Access-alternativ.
-
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.