Skapa ett uttryck

I den här artikeln beskrivs hur du skapar och använder uttryck i Microsoft Office Access. Med hjälp av uttryck kan du utföra många av de uppgifter som du använder formler till i Microsoft Office Excel. I den här artikeln visas hur du använder ett uttryck beroende på vilken uppgift som du vill utföra.

Artikelinnehåll


Uttryck – en översikt

Ett uttryck är en kombination av några eller samtliga av följande beståndsdelar: inbyggda eller användardefinierade funktioner, identifierare, operatorer och konstanter. Varje uttryck motsvarar ett enskilt värde.

Beståndsdelarna i ett uttryck.

Uttrycket nedan innehåller till exempel fyra komponenter:

=Summa([Inköpspris])*0,08

I det här exemplet är Summa() en inbyggd funktion, [Inköpspris] en identifierare, * en matematisk operator och 0,08 en konstant. Det här uttrycket kan användas i en textruta i en formulärfot eller rapportfot när du vill beräkna moms för en artikelgrupp.

Uttryck kan vara mycket mer komplexa eller mycket enklare än det här exemplet. Ett booleskt uttryck (ett uttryck som returnerar antingen Sant eller Falskt) som det nedan består av endast en operator och en konstant.

>0

Det här uttrycket returnerar Sant när det jämförs med ett tal som är större än 0 och Falskt när det jämförs med ett tal som är mindre än 0. Du kan använda det här uttrycket i egenskapen Verifieringsuttryck för en kontroll eller ett tabellfält när du vill säkerställa att endast positiva värden anges.

I Access används uttryck på många ställen när du utför beräkningar, ändrar tecken eller testar data. Tabeller, frågor, formulär, rapporter och makron har alla egenskaper som kan hanteras med uttryck. Du kan till exempel använda uttryck i egenskaperna Kontrollkälla och Standardvärde för en kontroll. Du kan också använda uttryck i egenskapen Verifieringsuttryck för ett tabellfält. Dessutom använder du ofta uttryck som påminner om dem som du använder i ett Access-objekt, till exempel en tabell eller fråga, när du skriver Microsoft VBA-kod (Visual Basic for Applications) för en händelseprocedur eller för en modul.

I följande avsnitt beskrivs de vanligaste sätten att använda uttryck.

Överst på sidan Överst på sidan

Nya funktioner i Access 2010 Uttrycksverktyg

I Access 2010 har uttrycksverktyget gjorts om för att bli enklare att använda. Här är några ändringar som du kommer att märka i denna version:

  • IntelliSense    IntelliSense-funktion har lagts till i nästan alla sammanhang där du kan skriva in ett uttryck. Det betyder att när du börjar skriva in en identifierare eller funktion visar Access en lista över tillgängliga identifierare och funktioner som är tillämpliga i det sammanhang där du skriver. Du kan fortsätta att skriva för att utöka listan eller välja ett alternativ för att få det ifyllt automatiskt. Detta påskyndar processen att skriva in uttryck och hjälper till att garantera att de uttryck som du skapar har skrivits in korrekt.

IntelliSense är särskilt användbart när du skapar webbdatabaser med hjälp av den nya webbpubliceringsfunktionen. Endast vissa funktioner är kompatibla med webbdatabaser och IntelliSense hindrar dig från att använda funktioner som inte är kompatibla.

Mer information om webbdatabaser finns i artikeln Skapa en databas att dela med andra på nätet.

  • Snabba tips    Medan IntelliSense visar en lista över identifierare och funktioner kan du klicka på varje objekt i listan och visa en kort beskrivning av det objektet.
  • Snabbinformation    Så snart som du skriver ett komplett funktionsnamn i uttrycksverktyget öppnar Access en liten ruta som visar syntaxen för det uttrycket. Det hjälper dig att komma ihåg vilka eventuella argument som funktionen kräver och i vilken ordning de ska anges. Access visar varje enskilt argument i fet stil i rutan Snabbinformation medan du skriver in uttrycket så att du kan följa med var du befinner dig i argumentlistan.

 Anteckning   Dessa funktioner kan användas i de flesta sammanhang där du kan skriva uttryck, även om du inte använder dialogrutan för uttrycksverktyget.

Utöver dessa nya funktioner har dialogrutan för uttrycksverktyget även fått ett nytt utseende:

  • Du kan klicka på << Mindre eller Mer >> om du vill ändra hur mycket av dialogrutan för uttrycksverktyget som ska visas.
  • När du ändrar storlek på dialogrutan för uttrycksverktyget används den nya storleken under hela Access-sessionen, vilket göra att du inte behöver ändra storlek på dialogrutan varje gång du öppnar den.
  • Raden med knappar har tagits bort, vilket resulterar i en enklare dialogruta.

Överst på sidan Överst på sidan

Använda uttryck i formulär- och rapportkontroller

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.

En totalsumma i en rapport.

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:

=Summa([tabellfält])

I det här fallet är tabellfält namnet på fältet som innehåller delsummevärdena. Fältet kan finnas i en tabell eller fråga. Funktionen Summa beräknar summan för en grupp med värden från datakällan.

I anvisningarna nedan förklaras hur du anger ett uttryck i en textrutekontroll.

Ange ett uttryck i en textrutekontroll

  1. I navigeringsfönstret högerklickar du på det formulär som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
  2. Markera den kontroll där du vill ange ett uttryck.
  3. Om egenskapssidan inte redan visas trycker du på F4 för att öppna den.
  4. 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 du =Summa([tabellfält]). Se till att du byter ut tabellfält mot namnet på fältet.
  5. Om du vill skapa ett uttryck med uttrycksverktyget klickar du på SkapaBild av knapp i egenskapsrutan.

När du har skrivit in ditt uttryck kommer egenskapssidan att se ut ungefär så här:

Ett uttryck i egenskapen Kontrollkälla för en textruta.

Överst på sidan Överst på sidan

Använda uttryck som frågevillkor

Du kan använda ett uttryck för att definiera villkor för en fråga. Då returneras bara de rader som matchar villkoret. Anta att du vill visa alla order med leveransdatum under det första kvartalet 2010. 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:

Mellan #01-01-2010# Och #31-03-2010#

Kolumnen Expedierat den ser ut ungefär så här:

Ett uttryck i villkorsraden för frågerutnätet.

Varje post i tabellen Order inkluderas i frågan om värdet i kolumnen Expedierat den ligger inom det intervall som du har angett. Se till 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.

Ange villkor i frågerutnätet

  1. Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Design på snabbmenyn.
  2. Klicka i cellen Villkor i kolumnen där du vill ange villkoret.
  3. Skriv in villkorsuttrycket om du vill skapa uttrycket manuellt.

 Anteckning   Inled inte villkorsuttrycket med operatorn =.

  1. Om du vill skapa uttrycket med hjälp av uttrycksverktyget klickar du på VerktygBild av knapp i gruppen Skapa fråga på fliken Design.

 Tips    Om du vill ha ett större område där du redigerar uttrycket placerar du pekaren i cellen Villkor och trycker sedan SKIFT+F2 för att visa rutan Zooma:

Ett uttryck i dialogrutan Zooma.

Överst på sidan Överst på sidan

Skapa ett beräknat fält i en fråga

Anta att du skapar en fråga och att du vill visa resultaten av en beräkning som involverar 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:

Utökat pris: [Antal] * [Enhetspris]

Om du inleder uttrycket med texten Utökat pris: får den nya kolumnen namnet Utökat pris. Det här namnet kallas vanligtvis för ett alias. Om du inte anger något alias skapas det av Access, till exempel Uttr1.

Använda ett uttryck för att skapa ett beräknat fält i en fråga.

När du kör frågan utförs beräkningen på varje rad, så som visas på följande bild:

Ett beräknat fält som visas i databladsvyn.

Skapa ett beräknat fält i designvyn

  1. Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Design på snabbmenyn.
  2. Klicka i cellen Fält i kolumnen där du vill skapa det beräknade fältet.
  3. Skriv in uttrycket om du vill skapa uttrycket manuellt.

 Anteckning   Inled inte villkorsuttrycket med operatorn =, utan inled det istället med en beskrivande etikettext följt av ett kolon. Ange till exempel etiketten Utökat pris: 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.

  1. Om du vill skapa uttrycket med hjälp av uttrycksverktyget klickar du på Verktyg i gruppen Skapa fråga på fliken Design.

Överst på sidan Överst på sidan

Skapa ett beräknat fält i en tabell

I Access 2010 kan du skapa ett beräknat fält i en tabell, vilket gör att du inte behöver skapa flera olika frågor för att utföra beräkningar.


 Anteckningar 

  • Beräkningen kan inte innehålla fält från andra tabeller eller frågor.
  • Resultatet av beräkningen är skrivskyddat.

Så här skapar du det beräknade fältet:

  1. Öppna tabellen genom att dubbelklicka på den i navigeringsfönstret.
  2. Bläddra horisontellt till kolumnen längst till höger i tabellen och klicka på kolumnrubriken Klicka för att lägga till.
  3. I listan som visas klickar du på Beräknat fält och klicka sedan på den datatyp som du vill använda för resultatet.

Uttrycksverktyget öppnas.

  1. Skriv in beräkningen som du vill ha för fältet, till exempel:

[Antal] * [Enhetspris]

 Anteckning   Du behöver inte inleda uttrycket med ett likhetstecken (=).

  1. 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.

  1. Skriv ett namn för det beräknade fältet och tryck på RETUR.

Överst på sidan Överst på sidan

Lägga till ett verifieringsuttryck i ett fält eller en post i en tabell

Uttryck är användbara för att validera de data efterhand som de skrivs in i databasen. I tabeller kan du skapa två typer av verifieringsuttryck: Fältverifieringsuttryck som hindrar användare från att ange ogiltiga data i ett fält, och postverifieringsuttryck, som hindrar användare från att skapa poster som inte uppfyller de kriterier som du har angivit. Båda typerna av verifieringsuttryck skapas med hjälp av uttryck.

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

Ange ett verifieringsuttryck

Använd följande procedur för att skriva in ett fältverifieringsuttryck eller ett postverifieringsuttryck:

  1. Dubbelklicka i navigeringsfönstret på den tabell du vill ändra.

Tabellen öppnas i databladsvyn.

  1. För ett fältverifieringsuttryck markerar du det fält som du vill ändra.
  2. På fliken Fält i gruppen Fältverifiering klickar du på Verifiering och klickar sedan på Verifieringsuttryck för fält eller Verifieringsuttryck för post.

Access visar uttrycksverktyget.

  1. 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:

>=0

 Anteckning   Du ska inte inleda uttrycket med ett likhetstecken (=).

Verifieringsuttryck är booleska, vilket betyder att de returnerar antingen Sant eller Falskt. Ett verifieringsuttryck måste returnera Sant om värdet ska accepteras. Om du i det här exemplet anger ett värde för fältet Antal i lager som är mindre än noll ger uttrycket resultatet Falskt och Access accepterar inte det värdet. Om du inte har angett något särskilt verifieringsmeddelande (som beskrivs i efterföljande avsnitt) visar Access ett eget meddelande för att visa att det angivna värdet är förbjudet enligt verifieringsuttrycket för fältet.

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". Använd följande procedur när du vill skapa ett verifieringsmeddelande:

  1. Dubbelklicka i navigeringsfönstret på tabellen som du vill ändra.

Tabellen öppnas i databladsvyn.

  1. För ett verifieringsmeddelande för fält markerar du det fält där du lagt till verifieringsuttrycket.
  2. På fliken Fält i gruppen Fältverifiering klickar du på Verifiering och klickar sedan på Fältverifieringsmeddelande eller Verifieringsmeddelande för post.
  3. 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.

Överst på sidan Överst på sidan

Lägga till ett verifieringsuttryck i en kontroll

 Anteckning   Verifieringsuttryck är inte tillgängliga för kontroller i webbdatabaser. Använd i stället postverifieringsuttryck, enligt anvisningarna i föregående avsnitt

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 2010-01-01. Du kan då ange egenskaperna Verifieringsuttryck och Verifieringstext för textrutan där du anger startdatumet enligt följande:

Egenskap Inställning
Verifieringsuttryck >=#2010-01-01#
Verifieringstext Det går inte att ange ett datum före 2010-01-01.

Om du försöker att ange ett datum tidigare än 1 jan 2010 visas ett meddelande och med den text som anges i egenskapen Verifieringstext. Om ingen text har skrivits i egenskapsrutan Verifieringstext visar Access ett allmänt meddelande. När du klickar på OK kommer du tillbaka till textrutan.

 Tips   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.

Ange ett verifieringsuttryck för en kontroll

  1. I navigeringsfönstret högerklickar du på det formulär eller den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
  2. Högerklicka på kontrollen som du vill ändra och klicka på Egenskaper på snabbmenyn.

Egenskapslistan för kontrollen visas.

  1. Klicka på fliken Alla och sedan i egenskapsrutan Verifieringsuttryck.
  2. Skriv uttrycket eller klicka på SkapaBild av knapp i egenskapsrutan om du vill skapa ett uttryck med uttrycksverktyget.

 Anteckning   Du ska inte inleda uttrycket med operatorn =.

  1. 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.

Överst på sidan Överst på sidan

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. Anta att du automatiskt vill infoga datum och tid i ett fält med namnet Orderdatum när du lägger till en ny post. Du kan då skriva följande uttryck:

Nu()

Ange ett standardvärde för ett fält i en tabell

  1. I navigeringsfältet dubbelklickar du på tabellen du vill ändra.

Tabellen öppnas i databladsvyn.

  1. Markera fältkontrollen som du vill ändra.
  2. Klicka på Standardvärde i gruppen Egenskaper på fliken Fält.

Access visar dialogrutan för uttrycksverktyget.

  1. Skriv ditt uttryck i rutan och var noga med att börja uttrycket med ett likhetstecken (=).

 Anteckning   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.

Överst på sidan Överst på sidan

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:

Datum()

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.

Ange ett standardvärde för en kontroll

  1. I navigeringsfönstret högerklickar du på det formulär eller den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
  2. Välj den kontroll som du vill ändra.
  3. Om egenskapssidan inte visas trycker du på F4 för att visa den.
  4. Klicka på fliken Alla på egenskapssidan och klicka sedan i egenskapsrutan Standardvärde.
  5. Skriv uttrycket eller klicka på SkapaBild av knapp i egenskapsrutan om du vill skapa ett uttryck med uttrycksverktyget.

Överst på sidan Överst på sidan

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 då [Objekt]>=10.

Ett uttryck som används i ett Om-block i ett makro.

Ange ett uttryck i ett Om-block i ett makro

  1. I navigeringsfältet högerklickar du på makrot du vill ändra. Klicka sedan på Design på snabbmenyn.
  2. Klicka på det Om-block som du vill ändra eller lägg till ett Om-block från fönstret Åtgärdskatalog.
  3. Klicka på den översta raden i Om-blocket.
  4. Ange villkorsuttrycket i rutan eller klicka på SkapaBild av knapp bredvid uttrycksrutan och starta uttrycksverktyget.

 Anteckning   Uttrycket som du anger måste vara booleskt, det vill säga att det endast returnerar Sant eller Falskt. Makroåtgärder inom Om-blocket körs endast om villkoret som returneras är Sant.

Överst på sidan Överst på sidan

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, men 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 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 per ort". Data för den rapporten grupperas efter ort i frågan. 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.

Ange gruppering och sortering för en rapport

  1. I navigeringsfönstret högerklickar du på den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
  2. Klicka på Gruppera och sortera i gruppen Gruppering och summor på fliken Design.

Fönstret Gruppera, sortera och summera visas under rapporten.

  1. Lägg till en grupperingsnivå till rapporten genom att klicka på Lägg till en grupp.
  2. 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:

Välja uttrycksalternativ i fönstret Gruppera, sortera och summera.

  1. Klicka på uttryck i listan över tillgängliga fält om du vill starta uttrycksverktyget.
  2. Ange det uttryck som du vill använda i uttrycksrutan (den övre rutan) i uttrycksverktyget. Se till att du inleder uttrycket med operatorn lika med (=).

Lägga till ett uttryck i en befintlig gruppering eller sortering

  1. I navigeringsfönstret högerklickar du på den rapport som du vill ändra och klickar sedan på layoutvyn eller designvyn på snabbmenyn.
  2. Klicka på den grupperingsnivå eller sorteringsordning som du vill ändra.
  3. Klicka på nedpilen bredvid Gruppera efter (för grupperingsnivåer) eller Sortera efter (för sorteringsordningar).

En lista över tillgängliga fält visas.

  1. Klicka på uttryck längst ned i listan över fälten om du vill starta uttrycksverktyget.
  2. Skriv uttrycket i uttrycksrutan (den övre rutan) i uttrycksverktyget. Se till att du inleder uttrycket med operatorn lika med (=).

Överst på sidan Överst på sidan

 
 
Gäller:
Access 2010, SharePoint Server 2010