Du kan använda uttryck till att göra allt möjligt med dina data. Du kan till exempel fastställa hur många dagar som har gått sedan en ordern levererades eller kombinera ett Förnamn och ett Efternamn till ett FullständigtNamn. I följande avsnitt visas hur du skapar ett uttryck steg för steg.
Artikelinnehåll
Beräkna värden för kontroller i formulär och rapporter
Om du vill använda ett uttryck som datakälla för en kontroll skapar du en beräknad kontroll. Du har till exempel en rapport som visar flera lagerposter och du vill skapa en totalsumma i rapportfoten för alla radobjekt i rapporten.
Om du vill beräkna totalsumman placerar du en textrutekontroll i rapportfoten och anger sedan följande uttryck i egenskapen Kontrollkälla för textrutan:
=Sum([table_field])
I det här fallet table_field är namnet på fältet som innehåller delsummavärdena. Fältet kan komma från en tabell eller en fråga. Med funktionen Summa beräknas totalsumman för alla värden table_fieldi .
PROCEDUR
- I navigeringsfönstret högerklickar du på det formulär som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
- Markera den kontroll där du vill ange ett uttryck.
- Om egenskapssidan inte redan visas trycker du på F4 för att öppna den.
- Om du vill skapa ett uttryck manuellt klickar du på egenskapen Kontrollkälla för textrutan på fliken Data på egenskapssidan och skriver
=sedan följt av resten av uttrycket. Om du till exempel vill beräkna delsumman som visas ovan skriver=Sum([table_field])du och ser till att du ersätter fältettable_fieldmed . - Om du vill skapa ett uttryck med uttrycksverktyget klickar du på knappen Skapa
egenskapsrutan.
När du har skrivit in uttrycket ser egenskapssidan ut så här:
Använda uttryck som frågevillkor
Du kan använda villkor i en fråga för att begränsa frågeresultaten. Du anger villkoren som ett uttryck och Access returnerar bara de rader som matchar uttrycket.
Anta att du vill visa alla order med leveransdatum under det första kvartalet 2017. Du anger villkoret genom att skriva följande uttryck i cellen Villkor för kolumnen Datum/tid i frågan. Det här exemplet använder en kolumn för datum/tid med namnet Expedierat den. Du definierar ett datumintervall genom att ange villkoret på följande sätt:
Between #1/1/2017# And #3/31/2017#
Kolumnen Expedierat den ser ut ungefär så här:
Varje post i tabellen Order inkluderas i frågan om värdet i kolumnen Expedierat den ligger inom det intervall som du har angett. Observera att du omsluter datumen med nummertecken (#) i uttrycket. Ett värde inom nummertecken behandlas som datatypen datum/tid i Access. Om du behandlar dessa värden som datum- och tidsdata kan du utföra beräkningar på dem, till exempel subtrahera ett datum från ett annat.
PROCEDUR
- Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Designvy på snabbmenyn.
- Klicka i cellen Villkor i kolumnen där du vill ange villkoret.
- Skriv in villkorsuttrycket om du vill skapa uttrycket manuellt. Föregå inte villkorsuttrycket med operatorn
=. - Om du vill skapa uttrycket med hjälp av Uttrycksverktyget klickar du på Design i menyfliksområdet och sedan på
i gruppen Frågekonfiguration.
Om du vill ha ett större område där du redigerar uttrycket placerar du pekaren i cellen Villkor och trycker sedan på SKIFT+F2 för att visa rutan Zooma:
Tips Om du vill göra texten mer lättläst väljer du Teckensnitt.
Skapa ett beräknat fält i en fråga
Anta att du skapar en fråga och vill visa resultatet av en beräkning med hjälp av andra fält i frågan. Du skapar det beräknade fältet genom att skriva in ett uttryck i en tom cell på raden Fält för frågan. Om du till exempel har en fråga som innehåller ett fält för Antal och ett för Enhetspris kan du multiplicera de två för att skapa ett beräknat fält för Utökat pris genom att skriva in följande uttryck på raden Fält för frågan:
Extended Price: [Quantity] * [Unit Price]
Före uttrycket med texten Extended Price: namnges den nya kolumnen Utökat pris. Det här namnet kallas vanligtvis för ett alias. Om du inte anger ett alias skapas ett, t.ex. Expr1.
När du kör förfrågan, Access utför beräkningen på varje rad, så som visas på följande bild:
PROCEDUR
- Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Designvy på snabbmenyn.
- Klicka i cellen Fält i kolumnen där du vill skapa det beräknade fältet.
- Skriv in uttrycket om du vill skapa uttrycket manuellt.
Inled inte villkorsuttrycket med operatorn=. Börja i stället uttrycket med en beskrivande etikett följt av ett kolon. SkrivExtended Price:till exempel för att ange etiketten för ett uttryck som skapar ett beräknat fält med namnet Utökat pris. Skriv sedan villkoret för ditt uttryck efter kolonet. - Om du vill skapa ett uttryck med hjälp av Uttrycksverktyget går du till menyfliksområdet och klickar på Design. gå sedan till gruppen Skapa fråga och klicka på Verktyg.
Skapa ett beräknat fält i en tabell
I Access kan du skapa ett beräknat fält i en tabell. På så sätt slipper du skapa en separat fråga när du vill utföra beräkningar. Om du till exempel har en tabell med antal, pris och momssats för varje artikel i en order kan du lägga till ett beräknat fält som visar det totala priset – exempelvis så här:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Beräkningen får inte innehålla fält från andra tabeller eller frågor och resultaten av beräkningen är skrivskyddad.
PROCEDUR
Öppna tabellen genom att dubbelklicka på den i navigeringsfönstret.
Bläddra horisontellt till kolumnen längst till höger i tabellen och klicka på kolumnrubriken Klicka för att lägga till.
Klicka på Beräknat fält i listan som visas och klicka sedan på den datatyp som du vill använda för resultatet. Uttrycksverktyget visas i Access.
Skriv beräkningen för fältet, till exempel:
[Quantity] * [Unit Price]För ett beräknat fält startar du inte uttrycket med ett likhetstecken (=).
Klicka på OK.
Access lägger till det beräknade fältet och markerar sedan fältrubriken så att du kan skriva ett namn för fältet.Skriv ett namn för det beräknade fältet och tryck på RETUR.
Ange standardvärden för ett tabellfält
Du kan använda ett uttryck om du vill ange ett standardvärde för ett fält i en tabell (ett värde som används i Access för nya poster såvida inget annat värde anges). Anta att du vill att datumet och tiden ska infogas automatiskt i ett fält med namnet Orderdatum när någon lägger till en ny post. Det kan du göra genom att använda följande uttryck:
Now()
PROCEDUR
- I navigeringsfältet dubbelklickar du på tabellen du vill ändra.
Tabellen öppnas i databladsvyn. - Markera fältkontrollen som du vill ändra.
- Klicka på Tabellfält i menyfliksområdet och sedan på Standardvärde i gruppen Egenskaper. Uttrycksverktyget visas i Access.
- Skriv uttrycket i rutan och börja uttrycket med ett likhetstecken (=).
Obs! Om du binder en kontroll till ett tabellfält, och både kontrollen och tabellfältet har standardvärden, gäller kontrollens standardvärde före tabellfältet.
Ange standardvärden för kontroller
En annan vanlig plats att använda uttryck är egenskapen Standardvärde för en kontroll. Egenskapen Standardvärde för en kontroll fungerar på ungefär samma sätt som egenskapen Standardvärde för ett fält i en tabell. Om du till exempel vill använda dagens datum som standardvärde för en textruta kan du använda följande uttryck:
Date()
Det här uttrycket använder funktionen Datum för att returnera dagens datum, men inte tiden. Om du binder textrutan till ett tabellfält, och fältet har ett standardvärde, gäller kontrollens standardvärde före tabellfältet. Det är ofta bättre att ställa in egenskapen Standardvärde för fältet i tabellen. Om du baserar flera kontroller för olika formulär på samma tabellfält gäller då samma standardvärde för alla kontroller, vilket underlättar för en konsekvent datainmatning på varje formulär.
PROCEDUR
- I navigeringsfönstret högerklickar du på det formulär eller den rapport som du vill ändra och klickar sedan på Layoutvy eller Designvy på snabbmenyn.
- Välj den kontroll som du vill ändra.
- Om egenskapssidan inte visas trycker du på F4 för att visa den.
- Klicka på fliken Alla på egenskapssidan och klicka sedan i egenskapsrutan Standardvärde.
- Skriv uttrycket eller klicka på knappen Skapa
egenskapsrutan om du vill skapa ett uttryck med uttrycksverktyget.
Lägga till ett verifieringsuttryck i ett fält eller en post i en tabell
Uttryck är mycket användbara för att verifiera data när de anges i databasen – för att hålla felaktiga data borta. I tabeller finns det två typer av verifieringsuttryck: Fältverifieringsregler (som hindrar användare från att ange felaktiga data i ett enda fält) och postverifieringsregler (som hindrar användare från att skapa poster som inte uppfyller verifieringsuttrycket). Du använder uttryck för båda typerna av verifieringsuttryck.
Anta till exempel att du har en tabell som kallas Inventarieförteckning med ett fält som kallas Antal i lager, och du vill ange en regel som tvingar användarna att ange ett värde större än eller lika med noll. Med andra ord kan lagret inte ha ett negativt värde. Du kan göra det genom att använda följande uttryck som fältverifieringsuttryck i fältet Antal i lager:
>=0
PROCEDUR: Ange ett fält eller postverifieringsuttryck
I navigeringsfältet dubbelklickar du på tabellen du vill ändra. Tabellen öppnas i databladsvyn.
För ett fältverifieringsuttryck markerar du det fält som du vill ändra.
Klicka på Tabellfält i menyfliksområdet, klicka sedan på Verifiering i gruppen Fältverifiering och klicka sedan på Verifieringsuttryck för fält eller Verifieringsuttryck. Uttrycksverktyget visas i Access.
Börja skriva in de kriterier som du vill använda. Om du till exempel behöver ett fältverifieringsuttryck som kräver att alla värden är större än eller lika med noll så skriver du följande:
>=0Du ska inte inleda uttrycket med ett likhetstecken (=).
Verifieringsuttryck är booleska, vilket innebär att de är antingen True eller False för ett givet indatavärde. Ett verifieringsuttryck måste vara True för värdet eller så sparas inte indata i Access och ett verifieringsmeddelande som anger felet visas. Om du i det här exemplet anger ett värde för fältet Antal i lager som är mindre än noll är Falseverifieringsuttrycket och värdet godkänns inte i Access. Om du inte har angett något särskilt verifieringsmeddelande (se nästa avsnitt) visar Access ett eget meddelande som anger att värdet inte tillåts av verifieringsuttrycket för fältet.
PROCEDURE: Ange ett verifieringsmeddelande
För att göra databasen enklare att använda kan du skriva anpassade valideringsmeddelanden. Dessa ersätter de allmänna meddelanden som Access visar när data inte stämmer med ett verifieringsuttryck. Du kan använda anpassade verifieringsmeddelanden för att ge särskild information som hjälper användaren att skriva in korrekta uppgifter. Ett exempel på ett verifieringsmeddelande kan vara "Antal i lager kan inte vara ett negativt tal".
- I navigeringsfältet dubbelklickar du på tabellen du vill ändra.
Tabellen öppnas i databladsvyn. - För ett verifieringsmeddelande för fält markerar du det fält där du lagt till verifieringsuttrycket.
- Klicka på Tabellfält i menyfliksområdet, klicka sedan på Verifiering i gruppen Fältverifiering och klicka sedan på Fältverifieringsmeddelande eller Verifieringsmeddelande.
- I dialogrutan Ange verifieringsmeddelande skriver du det meddelande som du vill ska visas när uppgifterna inte stämmer med verifieringsuttrycket och klickar sedan på OK.
Lägga till ett verifieringsuttryck i en kontroll
Förutom tabellfält och poster kan även kontroller ha en egenskap för Verifieringsuttryck för att använda uttryck. Anta att du använder ett formulär för att registrera datumintervallet för en rapport, och vill vara säker på att startdatumet inte infaller före 2017-01-01. Du kan ange egenskaperna Verifieringsuttryck och Verifieringstext för textrutan där du anger startdatumet till följande:
| Egenskap | Inställning |
|---|---|
| Verifieringsuttryck | >=#2017-01-01# |
| Verifieringstext | Det går inte att ange ett datum före 2017-01-01. |
Om du försöker ange ett datum före 2017-01-01 visas ett meddelande och texten visas i egenskapen Verifieringstext . Om ingen text har angetts i egenskapsrutan Verifieringstext visas ett allmänt meddelande i Access. När du klickar på OK kommer du tillbaka till textrutan.
Om du anger ett verifieringsuttryck för ett tabellfält används uttrycket i hela databasen där det fältet ändras. Alternativt kan du ange ett verifieringsuttryck för en kontroll på ett formulär. Då används uttrycket endast där det formuläret används. Att ange olika verifieringsuttryck för tabellfält och för kontroller på formulär kan vara användbart om du vill använda olika verifieringsuttryck för olika användare.
PROCEDUR
- I navigeringsfönstret högerklickar du på det formulär eller den rapport som du vill ändra och klickar sedan på Layoutvy eller Designvy på snabbmenyn.
- Högerklicka på kontrollen som du vill ändra och klicka på Egenskaper på snabbmenyn. Egenskapslistan för kontrollen visas.
- Klicka på fliken Alla och sedan i egenskapsrutan Verifieringsuttryck.
- Skriv uttrycket eller klicka på knappen Skapa
egenskapsrutan om du vill skapa ett uttryck med uttrycksverktyget.
Föregå inte uttrycket med operatorn = . - Om du vill anpassa texten som visas om en användare matar in data som inte stämmer med verifieringsuttrycket anger du texten som du vill ska visas i egenskapen Verifieringstext.
Gruppera och sortera data i rapporter
Du använder fönstret Gruppera, sortera och summera när du definierar grupperingsnivå och sorteringsordning för data i en rapport. Vanligast är att gruppera eller sortera efter ett fält som väljs från en lista. Om du vill gruppera eller sortera efter ett beräknat värde kan du istället ange ett uttryck.
Gruppering innebär att kombinera kolumner som innehåller identiska värden. Anta till exempel att databasen innehåller försäljningsinformation för kontor i olika städer och att en av rapporterna i databasen heter "Försäljning efter ort". Frågan som innehåller data för rapporten grupperar data efter ortsvärden. Den här sortens gruppering gör det lättare att läsa och förstå informationen.
Sortering innebär att använda en sorteringsordning för raderna (posterna) i frågeresultatet. Du kan till exempel sortera poster efter primärnyckelvärden (eller en annan uppsättning värden i ett annat fält) i stigande eller fallande ordning, eller sortera posterna efter ett eller flera tecken i en angiven ordning, till exempel i bokstavsordning.
PROCEDUR: Ange gruppering och sortering för en rapport
- I navigeringsfönstret högerklickar du på den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
- Klicka på Rapportdesign i menyfliksområdet och sedan på Gruppera & sortera i gruppen Gruppera & summor. Fönstret Gruppera, sortera och summera visas under rapporten.
- Lägg till en grupperingsnivå till rapporten genom att klicka på Lägg till en grupp.
- Lägg till en sorteringsordning till rapporten genom att klicka på Lägg till en sortering.
En ny grupperingsnivå eller sorteringsordning visas i fönstret tillsammans med en lista över fält som innehåller data för rapporten. I bilden nedan visas en vanlig grupperingsnivå (gruppering efter kategori) och sorteringsordning (sortering efter tillverkare), samt en lista över tillgängliga fält för gruppering och sortering:
- Klicka på uttryck i listan över tillgängliga fält om du vill börja använda Uttrycksverktyget.
- Ange det uttryck som du vill använda i uttrycksrutan (den övre rutan) i uttrycksverktyget. Kontrollera att du inleder uttrycket med operatorn lika med (
=).
PROCEDUR: Lägga till ett uttryck i en befintlig gruppering eller sortering
- I navigeringsfönstret högerklickar du på den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
- Klicka på den grupperingsnivå eller sorteringsordning som du vill ändra.
- Klicka på nedåtpilen bredvid Gruppera efter (för grupperingsnivåer) eller Sortera efter (för sorteringsordningar). En lista över tillgängliga fält visas.
- Klicka på uttryck längst ned i listan över fälten om du vill börja använda Uttrycksverktyget.
- Skriv uttrycket i uttrycksrutan (den övre rutan) i uttrycksverktyget. Kontrollera att du inleder uttrycket med operatorn lika med (=).
Kontrollera vilka makroåtgärder som körs
Ibland vill du kanske få åtgärder utförda bara om ett visst villkor uppfylls. Anta att du vill att en makroåtgärd bara ska köras när värdet i textrutan är större än eller lika med 10. För den här regeln kan du använda ett uttryck i ett Om-block i makrot som definierar villkoret.
Anta att textrutan har namnet Objekt. Uttrycket som anger villkoret är:
[Items]>=10
PROCEDUR
- I navigeringsfältet högerklickar du på makrot du vill ändra. Klicka sedan på Design på snabbmenyn.
- Klicka på det Om-block som du vill ändra eller lägg till ett Om-block från fönstret Åtgärdskatalog.
- Klicka på den översta raden i Om-blocket.
- Skriv villkorsuttrycket i rutan eller klicka på knappen Skapa
bredvid uttrycksrutan för att börja använda Uttrycksverktyget.
Uttrycket du skriver måste vara booleskt, vilket innebär att det är antingen True eller False. Makroåtgärderna i Om-blocket körs bara när villkoret är True.