Du kan hjälpa andra att mata in data på rätt sätt i din Access-databas för skrivbordet genom att ange indatamasker för fält som innehåller data som alltid formateras på ett visst sätt. Du kan t.ex använda en indatamask så att användarna alltid matar in korrekt formaterade telefonnummer i fält avsedda för dessa.
Indatamasker påverkar endast om det går att ange data i Access eller inte, de påverkar inte hur data lagras. Lagringen styrs av fältens datatyp och andra egenskaper. Mer information om hur data lagras finns i artikeln Introduktion till datatyper och fältegenskaper.
I den här artikeln
Om indatamasker
En indatamask är en teckensträng som anger formatet på giltiga indatavärden. Du kan använda indatamasker i tabellfält, frågefält och kontroller i formulär och rapporter. Indatamasker lagras som objektegenskaper.
Du kan använda en indatamask när det är viktigt med enhetligt format på indatavärden. Kanske vill du t.ex. använda en indatamask som kräver tio inmatade siffror. Om någon anger ett telefonnummer utan riktnummer lagras inga data i Access förrän riktnumret har lagts till.
De tre delarna i en indatamask
Indatamasker består av en obligatorisk del och två valfria delar och varje del skiljs åt med ett semikolon. Följande är syftet med varje del:
-
Den första delen är obligatorisk. Den omfattar maskens tecken eller sträng (serie med tecken) tillsammans med platshållare och literala data som parenteser, punkter och bindestreck.
-
Den andra delen är valfri och hänvisar till de inbäddade masktecknen och hur de lagras i fältet. Om den andra delen har angivits som 0 lagras tecknen tillsammans med informationen och om den har angivits som 1 visas tecknen, men utan att lagras. Det går att spara på databasutrymmet genom att ange den andra delen till 1 .
-
Den tredje delen av indatamasken är också valfri och anger ett enstaka tecken eller blanksteg som används som platshållare. Som standard används understreck (_). Om du vill använda ett annat tecken skriver du in det i maskens tredje del.
Detta exempel gäller för en indatamask för telefonnummer i det format som används i USA: (999) 000-000;0;-:
-
I masken används två platshållartecken, 9 och 0. Siffran 9 anger en valfri siffra (som gör att det är valfritt att ange riktnummer) och siffran 0 anger en obligatorisk siffra.
-
Siffran 0 i den andra delen av indatamasken anger att maskens tecken lagras tillsammans med dessa data.
-
Den tredje delen av indatamasken anger att ett bindestreck (-) ska användas som platshållartecken i stället för ett understreck (_).
Tecken som definierar indatamasker
I följande tabell visas platshållare och literala tecken för en indatamask och det förklaras hur den styr datainmatningen:
Tecken |
Förklaring |
---|---|
0 |
Användaren måste ange en siffra (0 till 9). |
9 |
Användaren kan ange en siffra (0 till 9). |
# |
Användaren kan ange en siffra, ett blanksteg eller ett plus- eller minustecken. Om du hoppar över den här platsen, anges ett blanksteg automatiskt. |
L |
Användaren måste ange en bokstav. |
? |
Användaren kan ange en bokstav. |
A |
Användaren måste ange en bokstav eller en siffra. |
a |
Användaren kan ange en bokstav eller en siffra. |
& |
Användaren kan ange antingen ett tecken eller ett blanksteg. |
C |
Användaren kan ange tecken eller blanksteg. |
. , : ; - / |
Platshållare för decimaler och tusental samt avgränsare för datum och tid. Vilka tecken du väljer är beroende av de nationella inställningarna i Microsoft Windows. |
> |
Omvandlar alla tecken som följer till versaler. |
< |
Omvandlar alla tecken som följer till gemener. |
! |
Gör så att indatamasken fylls från vänster till höger i stället för från höger till vänster. |
\ |
Tecken som följer omedelbart efter visas ordagrant. |
"" |
Tecken inom dubbla citattecken visas ordagrant. |
När du bör undvika att använda indatamasker i Access
Indatamasker är visserligen mycket praktiska, men det passar inte i alla lägen. Använd inte indatamasker under följande förutsättningar:
-
Om användarna ibland behöver mata in data som inte matchar masken. Inga undantag tillåts med indatamasker.
-
Om du planerar att använda en datumväljarkontroll för ett datum/tid-fält. Indatamasker är inte kompatibla med datumväljarkontroller.
Lägga till indatamasker i ett tabellfält med hjälp av indatamaskguiden
Du kan använda indatamasker med fält som har datatypen Text, Tal (utom ReplikeringsID), Valuta och Datum/tid.
Obs!: Om du använder en indatamask för ett fält som har typen Datum/tid slutar kontrollen Datumväljare vara tillgänglig för det fältet.
-
Högerklicka på tabellen i navigeringsfönstret och klicka på Design på snabbmenyn.
-
Klicka på fältet som du vill lägga till indatamasken i.
-
Klicka i egenskapsrutan Indatamask under Fältegenskaper på fliken Allmänt.
-
Klicka på knappen Skapa för att starta indatamaskguiden.
-
Välj den typ av mask du vill lägga till i listan Indatamask.
-
Klicka på Prova och ange data för att testa hur masken visas.
-
Klicka på Nästa om du vill behålla indatamasken utan ändringar.
-
Välj ett alternativ för hur du vill att data ska lagras.
-
Klicka på Slutför och spara ändringarna.
Lägga till en indatamask för en fråga
-
Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Design på snabbmenyn.
-
Placera pekaren i kolumnen i frågerutnätet för det fält som du vill ändra.
Du kan placera markören i valfri rad för det fältet.
-
Öppna fältets egenskapslista genom att trycka på F4.
-
Klicka i egenskapsrutan Indatamask under Fältegenskaper på fliken Allmänt.
-
Klicka på knappen Skapa för att starta indatamaskguiden och följ sedan anvisningarna i guiden.
Lägga till en indatamask i en formulär- eller rapportkontroll
-
Högerklicka i navigeringsfönstret i formuläret eller rapporten som du vill ändra och klicka sedan på Design på snabbmenyn.
-
Högerklicka på kontrollen som du vill ändra och klicka på Egenskaper på snabbmenyn.
-
Klicka i egenskapsrutan Indatamask på fliken Alla.
-
Klicka på knappen Skapa för att starta indatamaskguiden och följ sedan anvisningarna i guiden.
Skapa egna indatamasker
Även om indatamaskguiden innehåller indatamasker för de vanligaste formateringsbehoven kan det hända att du vill anpassa indatamasker så att de passar dina behov bättre. Indatamasker kan anpassas antingen genom att ändra de fördefinierade maskerna i guiden Indatamask eller genom att ändra indatamaskens egenskaper för ett fält där du vill använda masken.
Anpassa indatamasker från indatamaskguiden
-
Öppna objektet i designvyn och klicka på fältet där du vill lägga till den anpassade indatamasken.
-
Klicka på För att starta indatamaskguiden.
-
Klicka på Redigera lista.
Dialogrutan Anpassa indatamask (guide) visas.
-
Flytta till en ny post i dialogrutan och ange en ny beskrivning i textrutan Beskrivning.
-
I textrutan Indatamask skriver du in tecken och platshållare som använder de tillåtna tecknen från tabellistan.
-
Klicka på nedåtpilen Masktyp och välj en lämplig masktyp.
-
Klicka på Stäng. Den nya indatamasken visas i listan.
Anpassa indatamasker från fältets egenskapsinställningar
-
Högerklicka på objektet i navigeringsfönstret och klicka på Design på snabbmenyn.
-
Klicka på fältet där du vill skapa den anpassade indatamasken.
-
Klicka i textrutan Indatamask i området Fältegenskaper och skriv sedan in den anpassade masken.
-
Tryck på CTRL+S för att spara ändringarna.
Du måste ange indatamaskdefinitionen för fälten Tal och Valuta manuellt.
Exempel på indatamasker
Exemplen i tabellen nedan visar olika sätt att använda indatamasker.
Denna indatamask |
Tillhandahåller denna typ av värde |
Kommentarer |
---|---|---|
(000) 000-0000 |
(206) 555-0199 |
I det här fallet måste du ange ett riktnummer eftersom detta avsnitt i masken (000, inom parentes) använder 0 som platshållare. |
(999) 000-0000! |
(206) 555-0199 ( ) 555-0199 |
I det här fallet används 9 som platshållare för riktnumret, så därför är det valfritt. Utropstecknet (!) gör dessutom så att masken fylls från vänster till höger. |
(000) AAA-AAAA |
(206) 555-TELE |
Tillåter att du ersätter de sista fyra siffrorna i ett amerikanskt telefonnummer med bokstäver. Observera att platshållaren 0 används i det här avsnittet, så riktnumret är obligatoriskt. |
#999 |
–20 2000 |
Valfritt positivt eller negativt tal, högst fyra tecken och utan tusentalsavgränsare eller decimaler. |
>L????L?000L0 |
GREENGR339M3 MAY R 452B7 |
En kombination av fyra obligatoriska (L) och valfria (?) bokstäver och obligatoriska tal (0). Större än-tecknet tvingar användarna att ange alla bokstäver som versaler. Om du vill använda en indatamask av den här typen måste du ange datatypen för tabellfältet till Text eller PM. |
00000-9999 |
98115- 98115-3007 |
Ett obligatoriskt postnummer och ett valfritt avsnitt för över fyra tecken. |
>L<?????????????? |
Maria Per |
Ett förnamn eller efternamn där den första bokstaven automatiskt anges med versal. |
ISBN 0-&&&&&&&&&-0 |
ISBN 1-55615-507-7 |
Ett ISBN-nummer med strängtecken, obligatorisk första och sista siffra samt valfri kombination av bokstäver och tecken mellan dessa siffror. |
>LL00000-0000 |
DB51392-0493 |
En kombination av obligatoriska bokstäver och tecken, samtliga som versaler. Använd den här typen av indatamask om du t.ex. vill underlätta för användarna att ange artikelnummer. |
Använda indatamasker för e-postadresser
Eftersom det varierar stort hur många tecken e-postadresser innehåller är inte indatamasker något bra verktyg för att se till att e-postadresser skrivs in på rätt sätt. Vi rekommenderar i stället att egenskaperna Verifieringsuttryck och Verifieringstext används.
Verifieringsuttrycket som visas i följande tabell ser till att e-postadressen skrivs in med ett eller flera tecken, följt av ett ”@”-tecken, följt av ett eller flera tecken, följt av en punkt och därefter ett eller flera tecken. Till exempel tillåts tom@example.com, men tom@example,com eller tom@example tillåts inte. Om du anger en e-postadress som inte överensstämmer med verifieringsuttrycket godkänns inte inmatningen i Access och meddelandet i egenskapen Verifieringstext visas. Om ingen text skrivs in i egenskapsrutan Verifieringstext visas ett allmänt meddelande.
Egenskap |
Inställning |
---|---|
Verifieringsuttryck |
Är Null eller ((Som "*?@?*.?*") och (Inte som "*[ ,;]*")) |
Verifieringstext (valfri) |
Ange e-postadressen med ett "@"-tecken och det fullständiga domännamnet (till exempel "frank@contoso.com"). |
Mer information om att använda verifieringsuttryck samt stegvisa anvisningar finns i artikeln Begränsa indata med ett verifieringsuttryck.