Exempel på uttryck

Den här artikeln innehåller exempel på uttryck i Access. Ett uttryck är en kombination av matematiska eller logiska operatorer, konstanter, funktioner, tabellfält, kontroller och egenskaper som utvärderas till ett enda värde. Du kan använda uttryck i Access för att beräkna värden, verifiera data och ange ett standardvärde för ett fält eller en kontroll.

Obs!: Den här artikeln innehåller grundläggande instruktioner för hur du skapar uttryck men är inte en fullständig guide för verktygen i Access som används för att skapa uttryck. Mer information om hur du skapar uttryck finns i artikeln Skapa ett uttryck.

I den här artikeln

Förstå uttryck

Exempel på uttryck som används i formulär och rapporter

Exempel på uttryck som används i frågor och filter

Exempel på uttryck för standardvärden

Exempel på uttryck för fältverifieringsregler

Exempel på uttryck för makrovillkor

Förstå uttryck

I Access är begreppet uttryck synonymt med formel. Ett uttryck består av ett antal möjliga element som du kan använda, enskilt eller i kombination, för att få fram ett resultat. Dessa element omfattar:

  • Identifierare – namnen på tabellfält eller kontroller i formulär och rapporter, eller egenskaperna för dessa fält eller kontroller

  • Operatorer, till exempel + (plus) eller - (minus)

  • Funktioner, till exempel SUMMA eller MEDEL

  • Konstanter – värden som inte ändras, till exempel textsträngar eller tal som inte beräknas av ett uttryck.

Du kan använda uttryck på flera olika sätt – utföra en beräkning, hämta värdet för en kontroll eller ange villkor för en fråga, för att bara nämna några.

Mer information om hur och var du använder uttryck finns i artikeln Skapa ett uttryck.

Överst på sidan

Exempel på uttryck som används i formulär och rapporter

Tabellerna i det här avsnittet innehåller exempel på uttryck som beräknar ett värde i en kontroll som finns i ett formulär eller en rapport. Om du vill skapa en beräknad kontroll anger du ett uttryck i egenskapen Kontrollkälla för kontrollen i stället för i ett tabellfält eller en fråga.

Följande anvisningar förklarar hur du anger ett uttryck i en textrutekontroll i ett befintligt formulär eller en rapport.

Skapa en beräknad kontroll

  1. Högerklicka i navigeringsfönstret på formuläret eller rapporten som du vill ändra och klicka på Designvy Knappbild på snabbmenyn.

  2. Högerklicka på den textrutekontroll som du vill ändra (inte etiketten som är kopplad till textrutan) i formuläret eller rapporten, och klicka sedan på Egenskaper på snabbmenyn.

  3. Om det behövs klickar du antingen på fliken Alla eller Data. Båda flikarna innehåller egenskapen Kontrollkälla.

  4. Klicka på rutan bredvid egenskapen Kontrollkälla och skriv uttrycket. Du kan till exempel kopiera och klistra in ett uttryck från kolumnen Uttryck i tabellen i följande avsnitt.

  5. Stäng egenskapssidan.

Uttryck som kombinerar eller ändrar text

Uttrycken i följande tabell använder operatorerna & (et-tecken) och + (plustecken) för att kombinera textsträngar, inbyggda funktioner för att ändra en textsträng, eller på annat sätt hantera text för att skapa en beräknad kontroll.

Uttryck

Resultat

="Saknas"

Visar Saknas.

=[Förnamn] & " " & [Efternamn]

Visar de värden som finns i tabellfälten Förnamn och Efternamn. I det här exemplet används operatorn & för att kombinera fältet Förnamn, ett blanksteg (inom citattecken) och fältet Efternamn.

=Vänster([Produktnamn], 1)

Använder funktionen Vänster för att visa det första tecknet i värdet i ett fält eller en kontroll med namnet Produktnamn.

=Höger([Tillgångskod], 2)

Använder funktionen Höger för att visa de två sista tecknen i värdet i ett fält eller en kontroll med namnet Tillgångskod.

=Rensa([Adress])

Använder funktionen Rensa för att visa värdet i kontrollen Adress och ta bort alla inledande eller efterföljande blanksteg.

=OOM(ÄrNull([Region]), [Ort] & " " & [Postnummer], [Ort] & " " & [Region] & " " & [Postnummer])

Använder funktionen OOM för att visa värdena i kontrollerna Ort och Postnummer om värdet i kontrollen Region är null, annars visas värdena i kontrollerna Ort, Region och Postnummer avgränsade med blanksteg.

=[Ort] & (" " + [Region]) & " " & [Postnummer]

Använder operatorn + och spridning av null för att visa värdena i kontrollerna Ort och Postnummer om värdet i fältet eller kontrollen Region är null, annars visas värdena i fälten eller kontrollerna Ort, Region och Postnummer avgränsade med blanksteg.

Spridning av null innebär att om någon av komponenterna i ett uttryck är null, blir hela uttrycket också null. Operatorn + har stöd för spridning av null, men det har inte operatorn &.

Uttryck i sidhuvuden och sidfötter

Använd egenskaperna Sida och Sidor om du vill visa eller skriva ut sidnummer i formulär och rapporter. Egenskaperna Sida och Sidor är endast tillgängliga under utskrift och förhandsgranskning, så de visas inte på egenskapssidan för formuläret eller rapporten. Du använder vanligtvis dessa egenskaper genom att placera en textruta i sidhuvuds- eller sidfotsavsnittet i formuläret eller rapporten och sedan använda ett uttryck, till exempel de som visas i tabellen nedan.

Mer information om hur du använder sidhuvuden och sidfötter i formulär och rapporter finns i artikeln Infoga sidnummer i ett formulär eller en rapport.

Uttryck

Exempelresultat

=[Sida]

1

="Sida " & [Sida]

Sida 1

="Sida " & [Sida] & " av " & [Sidor]

Sida 1 av 3

=[Sida] & " av " & [Sidor] & " sidor"

1 av 3 sidor

=[Sida] & "/" & [Sidor] & " sidor"

1/3 sidor

=[Land] & " - " & [Sida]

Sverige - 1

=Format([Sida], "000")

001

="Utskriven den: " & Datum()

Utskriven den: 2007-12-31

Uttryck som utför aritmetiska operationer

Du kan använda uttryck för att addera, subtrahera, multiplicera och dividera värden i två eller fler fält eller kontroller. Du kan också använda uttryck för att utföra aritmetiska operationer på datum. Anta att du har ett datum/tid-tabellfält med namnet BegärtLeveransdatum. I det fältet, eller i en kontroll som är bunden till det fältet, returnerar uttrycket =[BegärtLeveransdatum] - 2 ett datum-/tidsvärde som infaller två dagar före de aktuella värdena i fältet BegärtLeveransdatum.

Uttryck

Resultat

=[Delsumma]+[Frakt]

Summan av värdena för fälten eller kontrollerna Delsumma och Frakt.

=[BegärtLeveransdatum]-[Skeppningsdatum]

Intervallet mellan datumvärdena i fälten eller kontrollerna BegärtLeveransdatum och Skeppningsdatum.

=[Pris]*1,06

Produkten av värdet i fältet eller kontrollen Pris och 1,06 (lägger till 6 procent till värdet Pris).

=[Antal]*[Pris]

Produkten av värdena i fälten eller kontrollerna Antal och Pris.

=[SummaAnställd]/[SummaLand]

Kvoten av värdena i fälten eller kontrollerna SummaAnställd och SummaLand.

Obs!: När du använder en aritmetisk operator (+, -, * och /) i ett uttryck, och värdet för en av kontrollerna i uttrycket är null, blir resultatet av hela uttrycket null – detta kallas spridning av null. Om någon av posterna i kontrollerna som du använder i uttrycket kanske har ett nullvärde, undviker du spridning av null genom att konvertera nullvärdet till noll med funktionen Nz – till exempel =Nz([Delsumma])+Nz([Frakt]).

Mer information om funktionen finns i artikeln Funktionen Nz.

Uttryck som refererar till värden i andra fält eller kontroller

Ibland behöver du ett värde som finns någon annanstans, till exempel i ett fält eller en kontroll i ett annat formulär eller rapport. Du kan använda ett uttryck för att returnera värdet från ett annat fält eller kontroll.

I följande tabell visas exempel på uttryck som du kan använda i beräknade kontroller i formulär.

Uttryck

Resultat

=Formulär![Order]![Ordernr]

Värdet på kontrollen Ordernr i formuläret Order.

=Formulär![Order]![Orderunderformulär].Formulär![Orderdelsumma]

Värdet på kontrollen Orderdelsumma i underformuläret med namnet Orderunderformulär i formuläret Order.

=Formulär![Order]![Orderunderformulär]![Produktnr].Kolumn(2)

Värdet för den tredje kolumnen i Produktnr, en listruta med flera kolumner i underformuläret Orderunderformulär i formuläret Order. (Observera att 0 refererar till den första kolumnen, 1 refererar till den andra kolumnen och så vidare.)

=Formulär![Order]![Orderunderformulär]![Pris] * 1,06

Produkten av värdet på kontrollen Pris i underformuläret Orderunderformulär i formuläret Order och 1,06 (lägger till 6 procent till värdet på kontrollen Pris).

=Överordnad![Ordernr]

Värdet på kontrollen Ordernr i huvudformuläret eller det överordnade formuläret i det aktuella underformuläret.

Uttrycken i tabellen nedan visar några sätt att använda beräknade kontroller i rapporter. Uttrycken refererar till egenskapen Rapport.

Mer information om den egenskapen finns i artikeln Egenskapen Rapport.

Uttryck

Resultat

=Rapport![Faktura]![Ordernr]

Värdet på en kontroll med namnet "Ordernr" i en rapport med namnet "Faktura".

=Rapport![Sammanfattning]![Sammanfattningsunderrapport]![FörsäljningTotalt]

Värdet på kontrollen FörsäljningTotalt i underrapporten med namnet Sammanfattningsunderrapport i Sammanfattningsrapporten.

=Överordnad![Ordernr]

Värdet på kontrollen Ordernr i huvudrapporten eller den överordnade rapporten i den aktuella underrapporten.

Uttryck som räknar antal, summerar och beräknar medelvärden

Du kan använda en typ av funktion som kallas för mängdfunktion för att beräkna värden för ett eller flera fält eller kontroller. Du kan till exempel beräkna en gruppsumma för gruppfoten i en rapport eller en orderdelsumma för radartiklar i ett formulär. Du kan även räkna antalet artiklar i ett eller flera fält eller beräkna ett medelvärde.

Uttrycken i tabellen nedan visar några sätt att använda funktioner som Medel, Antal och Summa.

Uttryck

Beskrivning

=Medel([Frakt])

Använder funktionen Medel för att visa medelvärdet av värdena i ett tabellfält eller en kontroll med namnet "Frakt".

=Antal([Ordernr])

Använder funktionen Antal för att visa antalet poster i kontrollen Ordernr.

=Summa([Försäljning])

Använder funktionen Summa för att visa summan av värdena i kontrollen Försäljning.

=Summa([Antal]*[Pris])

Använder funktionen Summa för att visa summan av produkten av värdena i kontrollerna Antal och Pris.

=[Försäljning]/Summa([Försäljning])*100

Visar försäljning i procent, genom att dividera värdet i kontrollen Försäljning med summan av alla värden i kontrollen Försäljning.

Obs!: Om du anger egenskapen Format för kontrollen till Procent, ska du inte ta med *100 i uttrycket.

Mer information om hur du använder mängdfunktioner och summerar värden i fält och kolumner finns i artiklarna Summera data med hjälp av en fråga, Räkna data med hjälp av en fråga, Räkna raderna i ett datablad och Visa kolumnsummor i ett datablad.

Uttryck som räknar, summerar och slår upp utvalda värden med hjälp av domänmängdfunktioner

Du använder en typ av funktion som kallas för domänmängdfunktion när du vill summera eller räkna utvalda värden. En "domän" består av ett eller flera fält i en eller flera tabeller, eller en eller flera kontroller i ett eller flera formulär eller rapporter. Du kan till exempel matcha värdena i ett tabellfält mot värdena i en kontroll i ett formulär.

Uttryck

Beskrivning

=DSlåUpp("[Kontaktnamn]", "[Leverantörer]", "[Leverantörsnr] = " & Formulär("Leverantörer")("[Leverantörsnr]"))

Använder funktionen DSlåUpp för att returnera värdet i fältet Kontaktnamn i tabellen Leverantörer, där värdet i fältet Leverantörsnr i tabellen matchar värdet på kontrollen Leverantörsnr i formuläret Leverantörer.

=DSlåUpp("[Kontaktnamn]", "[Leverantörer]", "[Leverantörsnr] = " & Formulär![Nya leverantörer]!Leverantörsnr])

Använder funktionen DSlåUpp för att returnera värdet i fältet Kontaktnamn i tabellen Leverantörer, där värdet i fältet Leverantörsnr i tabellen matchar värdet på kontrollen Leverantörsnr i formuläret Nya leverantörer.

=DSumma("[Orderbelopp]", "[Order]", "[Kundnr] = 'RATTC'")

Använder funktionen DSumma för att returnera summan av värdena i fältet Orderbelopp i tabellen Order där Kundnr är RATTC.

=DAntal("[Kasserad]","[Tillgångar]","[Kasserad]=Ja")

Använder funktionen DAntal för att returnera antalet Ja-värden i fältet Kasserad (ett ja/nej-fält) i tabellen Tillgångar.

Uttryck som ändrar och beräknar datum

Att följa upp datum och tider är en vanlig databasåtgärd. Du kan till exempel beräkna hur många dagar som har förflutit sedan fakturadatumet och följa upp fordringar. Du kan formatera datum och tider på flera olika sätt, vilket visas i följande tabell.

Uttryck

Beskrivning

=Datum()

Använder funktionen Datum för att visa dagens datum i formatet åå.mm.dd, där åå är de två sista siffrorna i året (1980 till 2099), mm är månaden (1 till 12) och dd är dagen (1 till 31).

=Format(Nu(), "vv")

Använder funktionen Format för att visa veckonumret för det aktuella datumet där vv representerar veckorna 1 till 53.

=DatumDel("åååå", [Orderdatum])

Använder funktionen DatumDel för att visa det fyrsiffriga året för värdet i kontrollen Orderdatum.

=DatumLäggTill("å", -10, [UtlovatDatum])

Använder funktionen DatumLäggTill för att visa ett datum som infaller 10 dagar före värdet i kontrollen UtlovatDatum.

=DatumDiff("d", [Orderdatum], [Skeppningsdatum])

Använder funktionen DatumDiff för att visa antalet dagars differens mellan värdena i kontrollerna Orderdatum och Skeppningsdatum.

=[Fakturadatum] + 30

Använder aritmetiska operationer på datum för att beräkna datumet som infaller 30 dagar efter datumet i fältet eller kontrollen Fakturadatum.

Villkorsstyrda uttryck som returnerar ett av två möjliga värden

Exemplen på uttryck i tabellen nedan använder funktionen OOM för att returnera ett av två möjliga värden. Du skickar funktionen OOM med tre argument: Det första argumentet är ett uttryck som måste returnera värdet Sant eller Falskt. Det andra argumentet är värdet som ska returneras om uttrycket är sant, och det tredje argumentet är värdet som ska returneras om uttrycket är falskt.

Uttryck

Beskrivning

=OOM([Bekräftad] = "Ja", "Bekräftad order", "Ej bekräftad order")

Använder funktionen OOM (Omedelbart om) för att visa meddelandet "Bekräftad order" om värdet på kontrollen Bekräftad är Ja, annars visas meddelandet "Ej bekräftad order".

=OOM(ÄrNull([Land/region]), " ", [Land])

Använder funktionerna OOM och ÄrNull för att visa en tom sträng om värdet i kontrollen Land/region är null, annars visas värdet i kontrollen Land/region.

=OOM(ÄrNull([Region]), [Ort] & " " & [Postnummer], [Ort] & " " & [Region] & " " & [Postnummer])

Använder funktionerna OOM och ÄrNull för att visa värdena i kontrollerna Ort och Postnummer om värdet i kontrollen Region är null, annars visas värdena i fälten eller kontrollerna Ort, Region och Postnummer.

=OOM(ÄrNull([BegärtLeveransdatum]) Eller ÄrNull([Skeppningsdatum]) "Kontrollera utelämnat datum", [BegärtLeveransdatum] - [Skeppningsdatum])

Använder funktionerna OOM och ÄrNull för att visa meddelandet "Kontrollera utelämnat datum" om differensen mellan BegärtLeveransdatum och Skeppningsdatum är null, annars visas intervallet mellan datumvärdena för kontrollerna BegärtLeveransdatum och Skeppningsdatum.

Överst på sidan

Exempel på uttryck som används i frågor och filter

Det här avsnittet innehåller exempel på uttryck som du kan använda när du skapar ett beräknat fält i en fråga eller anger ett villkor för en fråga. Ett beräknat fält är en kolumn i en fråga som är resultatet av ett uttryck. Du kan till exempel beräkna ett värde, kombinera textvärden som för- och efternamn eller formatera en del av ett datum.

Du använder villkor i en fråga för att begränsa de poster som du arbetar med. Du kan till exempel använda operatorn Mellan för att ange start- och slutdatum och begränsa resultaten av frågan till order som levererades mellan dessa datum.

I de kommande avsnitten beskrivs hur du lägger till ett beräknat fält i en fråga. Här finns också exempel på uttryck som du kan använda i frågor.

Lägga till 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. Du kan ange ett namn på fältet följt av ett kolon eller skriva uttrycket. Om du inte anger ett namn läggs Uttrn: till automatiskt, där n är ett sekvensnummer.

  3. Skriv uttrycket.

    eller

    Klicka på Verktyg i gruppen Skapa fråga på fliken Design så att Uttrycksverktyget startar.

    Mer information om hur du använder Uttrycksverktyget finns i artikeln Skapa ett uttryck.

Uttryck som hanterar text i en fråga eller ett filter

Uttrycken i följande tabell använder operatorerna & och + för att kombinera textsträngar, använda inbyggda funktioner för att hantera en textsträng eller på annat sätt hantera text för att skapa ett beräknat fält.

Uttryck

Beskrivning

FullständigtNamn: Förnamn] & " " & [Efternamn]

Skapar ett fält med namnet FullständigtNamn som visar värdena i fälten Förnamn och Efternamn, avgränsade med blanksteg.

Adress2: Ort] & " " & [Region]) & " " & [Postnummer]

Skapar ett fält med namnet Adress2 som visar värdena i fälten Ort, Region och Postnummer, avgränsade med blanksteg.

Produktinitial:Vänster([Produktnamn], 1)

Skapar ett fält med namnet Produktinitial och använder sedan funktionen Vänster för att visa, i fältet Produktinitial, det första tecknet i värdet i fältet Produktnamn.

Typkod: Höger([Tillgångskod], 2)

Skapar ett fält med namnet Typkod och använder sedan funktionen Höger för att visa de två sista tecknen i värdena i fältet Tillgångskod.

Riktnummer: Mitt([Telefon],2,3)

Skapar ett fält med namnet Riktnummer och använder sedan funktionen Mitt för att visa de tre tecken som börjar med det andra tecknet i värdet i fältet Telefon.

Uttryck som utför aritmetiska operationer i beräknade fält

Du kan använda uttryck för att addera, subtrahera, multiplicera och dividera värden i två eller fler fält eller kontroller. Du kan även utföra aritmetiska operationer på datum. Anta att du har ett datum/tid-fält med namnet BegärtLeveransdatum. Uttrycket =[BegärtLeveransdatum] - 2 returnerar ett datum-/tidsvärde som infaller två dagar före värdet i fältet BegärtLeveransdatum.

Uttryck

Beskrivning

Expressfrakt: [Frakt] * 1.1

Skapar ett fält med namnet Expressfrakt och visar sedan fraktavgifterna plus 10 procent i det fältet.

Orderbelopp: [Antal] * [Enhetspris]

Skapar ett fält med namnet Orderbelopp och visar sedan produkten av värdena i fälten Antal och Enhetspris.

Ledtid: [BegärtLeveransdatum] - [Skeppningsdatum]

Skapar ett fält med namnet Ledtid och visar sedan differensen mellan värdena i fälten BegärtLeveransdatum och Skeppningsdatum.

TotaltLager: [AntalILager]+[BeställtAntal]

Skapar ett fält med namnet TotaltLager och visar sedan summan av värdena i fälten AntalILager och BeställtAntal.

Fraktprocent: Summa([Frakt])/Summa([Delsumma]) *100

Skapar ett fält med namnet Fraktprocent och visar sedan fraktavgifternas procentandel av varje delsumma. Detta uttryck använder funktionen Summa för att summera värdena i fältet Frakt, och dividerar sedan dessa summor med summan av värdena i fältet Delsumma.

Om du vill använda det här uttrycket måste du konvertera urvalsfrågan till en summeringsfråga eftersom du måste använda raden Summa i rutnätet, och du måste ange cellen Summa för det här fältet till Uttryck.

Mer information om hur du skapar en summeringsfråga finns i artikeln Summera data med hjälp av en fråga.

Om du anger egenskapen Format för fältet till Procent ska du inte ta med *100.

Mer information om hur du använder mängdfunktioner och summerar värden i fält och kolumner finns i artiklarna Summera data med hjälp av en fråga, Räkna data med hjälp av en fråga, Räkna raderna i ett datablad och Visa kolumnsummor i ett datablad.

Uttryck som ändrar och beräknar med datum i beräknade fält

Nästan alla databaser lagrar och spårar datum och tider. Du arbetar med datum och tider i Access genom att ange datatypen Datum/tid för datum- och tidfält i tabellerna. Det går att utföra aritmetiska beräkningar på datum. Du kan till exempel beräkna hur många dagar som har förflutit sedan fakturadatumet och följa upp fordringar.

Uttryck

Beskrivning

Fördröjning: DatumDiff("d", [Orderdatum], [Skeppningsdatum])

Skapar ett fält med namnet Fördröjning och använder sedan funktionen DatumDiff för att visa antalet dagar mellan orderdatumet och skeppningsdatumet.

Anställningsår: DatumDel("åååå", [Anställningsdatum])

Skapar ett fält med namnet Anställningsår och använder sedan funktionen DatumDel för att visa året då varje medarbetare anställdes.

MinusTrettio: Datum()- 30

Skapar ett fält med namnet MinusTrettio och använder sedan funktionen Datum för att visa det datum som infaller 30 dagar före dagens datum.

Uttryck som räknar, summerar och beräknar medelvärden genom att använda SQL- eller domänmängdfunktioner

Uttrycken i tabellen nedan använder SQL-funktioner (Structured Query Language) som summerar data. Dessa funktioner (till exempel Summa, Antal och Medel) kallas ofta för mängdfunktioner.

Förutom mängdfunktioner erbjuder Access dessutom ”domänmängdfunktioner" som du använder för att summera eller räkna värden selektivt. Du kan till exempel räkna endast värden i ett visst område eller leta upp ett värde från en annan tabell. Uppsättningen domänmängdfunktioner omfattar funktionerna DSumma, DAntal och DMedel.

När du vill beräkna summor måste du ofta skapa en summeringsfråga. Om du till exempel vill summera per grupp, måste du använda en summeringsfråga. Du aktiverar en summeringsfråga i frågerutnätet genom att klicka på SummorVisa-menyn.

Uttryck

Beskrivning

Radantal:Antal(*)

Skapar ett fält med namnet Radantal och använder sedan funktionen Antal för att räkna antalet poster i frågan, inklusive poster med nullvärde (tomma fält).

Fraktprocent: Summa([Frakt])/Summa([Delsumma]) *100

Skapar ett fält med namnet Fraktprocent och beräknar sedan fraktavgifternas andel av varje delsumma genom att summan av värdena i fältet Frakt divideras med summan av värdena i fältet Delsumma. (I det här exemplet används funktionen Summa.)

Obs!: Du måste använda det här uttrycket tillsammans med en summeringsfråga. Om du anger egenskapen Format för fältet till Procent ska du inte ta med *100.

Mer information om hur du skapar en summeringsfråga finns i artikeln Summera data med hjälp av en fråga.

GenomsnittligFrakt: DMedel("[Frakt]", "[Order]")

Skapar ett fält med namnet GenomsnittligFrakt och använder sedan funktionen DMedel för att beräkna den genomsnittliga frakten på alla order kombinerade i en summeringsfråga.

Uttryck för att arbeta med fält där information saknas (fält med nullvärden)

Uttrycken som visas här fungerar tillsammans med fält där det eventuellt saknas information, till exempel de som innehåller nullvärden (okända eller odefinierade värden). Nullvärden förekommer ofta, till exempel som ett okänt pris på en ny produkt eller ett värde som en medarbetare har glömt att lägga till i en order. Möjligheten att hitta och bearbeta nullvärden är en viktig del i databasåtgärderna, och uttrycken i tabellen nedan visar några vanliga sätt att hantera nullvärden.

Uttryck

Beskrivning

AktuelltLandRegion:OOM(ÄrNull([LandRegion]), " ", [LandRegion])

Skapar ett fält med namnet AktuelltLandRegion och använder sedan funktionerna OOM och ÄrNull för att visa en tom sträng i det fältet när fältet LandRegion innehåller ett nullvärde, annars visas innehållet i fältet LandRegion.

Ledtid: OOM(ÄrNull([BegärtLeveransdatum] - [Skeppningsdatum]), "Kontrollera utelämnat datum", [BegärtLeveransdatum] - [Skeppningsdatum])

Skapar ett fält med namnet Ledtid och använder sedan funktionerna OOM och ÄrNull för att visa meddelandet "Kontrollera utelämnat datum" om värdet i antingen fältet BegärtLeveransdatum eller Skeppningsdatum är null, annars visas datumdifferensen.

Halvårsförsäljning: Nz([Kvart1Försäljning]) + Nz([Kvart2Försäljning])

Skapar ett fält med namnet Halvårsförsäljning och visar sedan summan av värdena i fälten Kvart1Försäljning och Kvart2Försäljning genom att först använda funktionen Nz för att konvertera alla nullvärden till noll.

Uttryck som använder en underfråga för att skapa ett beräknat fält

Du kan använda en kapslad fråga, en så kallad underfråga, för att skapa ett beräknat fält. Uttrycket i tabellen nedan är ett exempel på ett beräknat fält som är resultatet av en underfråga.

Uttryck

Beskrivning

Kat: (SELECT [Kategorinamn] FROM [Kategorier] WHERE [Produkter].[Kategorinr]=[Kategorier].[Kategorinr])

Skapar ett fält med namnet Kat och visar sedan kategorinamnet om kategorinumret i tabellen Kategorier överensstämmer med kategorinumret i tabellen Produkter.

Uttryck som definierar villkor och begränsar antalet poster i resultatet

Du kan använda ett uttryck för att definiera villkor för en fråga. Access returnerar endast de rader som uppfyller villkoret. Anvisningarna i det här avsnittet innehåller grundläggande information om hur du lägger till villkor i en fråga, och tabellerna innehåller exempel på villkor som matchar text och datumvärden.

Lägga till villkor i en fråga

  1. Högerklicka i navigeringsfönstret på frågan som du vill ändra och klicka sedan på Designvy Knappbild på snabbmenyn.

  2. På raden Villkor i designrutnätet klickar du på den cell i kolumnen som du vill använda och anger ett villkor.

    Om du vill visa ett större område där du kan skriva ett uttryck trycker du på SKIFT+F2 så att rutan Zooma visas.

    eller

    Klicka på Verktyg Knappbild i gruppen Skapa fråga på fliken Design så att Uttrycksverktyget startar. Skapa uttrycket.

Obs!: När du skapar uttryck som definierar villkor ska du inte inleda uttrycket med operatorn =.

Mer information om hur du använder Uttrycksverktyget finns i artikeln Skapa ett uttryck.

Uttryck som matchar hela eller delar av textvärden

Exempeluttrycken i den här tabellen visar villkor som matchar hela eller delar av textvärden.

Fält

Uttryck

Beskrivning

Leveransort

"London"

Visar order som har levererats till London.

Leveransort

"London" Eller "Hedge End"

Använder operatorn Eller för att visa order som har levererats till London eller Hedge End.

Leveransland

I("Kanada", "Storbritannien")

Använder operatorn I för att visa order som har levererats till Kanada eller Storbritannien.

Leveransland

Icke "USA"

Använder operatorn Icke för att visa order som har levererats till andra länder än USA.

Produktnamn

Inte som "C*"

Använder operatorn Icke och jokertecknet * för att visa produktnamn som inte börjar med C.

Företagsnamn

>="N"

Visar order som har levererats till företag vars namn börjar med bokstäverna N till Ö.

Produktkod

Höger([Produktkod, 2)="99"

Använder funktionen Höger för att visa order där värdena för Produktkod slutar med 99.

Leveransnamn

Som "S*"

Visar order som har levererats till kunder vars namn börjar med bokstaven S.

Uttryck som använder datum i matchningsvillkor

Uttrycken i tabellen nedan visar hur du kan använda datum och närliggande funktioner i villkorsuttryck.

Mer information om hur du anger och använder datumvärden finns i artikeln Ange ett datum- eller tidsvärde. Om du vill ha information om hur du använder funktionerna i dessa exempeluttryck klickar du på länkarna till de olika funktionsavsnitten.

Fält

Uttryck

Beskrivning

Skeppningsdatum

#2007-02-02#

Visar order som utlevererades den 2 februari 2007.

Skeppningsdatum

Datum()

Visar order som utlevererades idag.

BegärtLeveransdatum

Mellan Datum( ) Och DatumLäggTill("m", 3, Datum( ))

Använder operatorn Mellan...Och och funktionerna DatumLäggTill och Datum för att visa order med begärt leveransdatum mellan idag och tre månader framåt från idag.

Orderdatum

< Datum( ) - 30

Använder funktionen Datum för att visa order som är äldre än 30 dagar.

Orderdatum

År([Orderdatum])=2007

Använder funktionen År för att visa order med orderdatum som infaller under 2007.

Orderdatum

DatumDel("k", [Orderdatum])=4

Använder funktionen DatumDel för att visa order för det fjärde kalenderkvartalet.

Orderdatum

DatumSerie(År ([Orderdatum]), Månad([Orderdatum])+1, 1)-1

Använder funktionerna DatumSerie, År och Månad för att visa order för den sista dagen i varje månad.

Orderdatum

År([Orderdatum])= År(Nu()) Och Månad([Orderdatum])= Månad(Nu())

Använder funktionerna År och Månad och operatorn Och för att visa order för aktuellt år och aktuell månad.

Skeppningsdatum

Mellan #2007-01-05# Och #2007-01-10#

Använder operatorn Mellan...Och för att visa order som inte utlevererades tidigare än den 5 januari 2007 och inte senare än den 10 januari 2007.

BegärtLeveransdatum

Mellan Datum( ) Och DatumLäggTill("M", 3, Datum( ))

Använder operatorn Mellan...Och för att visa order med begärt leveransdatum mellan dagens datum och tre månader framåt från idag.

Födelsedatum

Månad([Födelsedatum])=Månad(Datum())

Använder funktionerna Månad och Datum för att visa anställda som har födelsedag den här månaden.

Uttryck som matchar ett saknat värde (null) eller en nollängdssträng

Uttrycken i tabellen nedan fungerar med fält där information eventuellt saknas – de som innehåller ett nullvärde eller en nollängdssträng. Ett nullvärde anger frånvaro av information och inte talet noll eller inget värde alls. Access kan hantera dessa fall då information saknas eftersom det är viktigt för databasens integritet. I verkligheten händer det ofta att information saknas, även om det bara är tillfälligt (till exempel priser som inte är fastställda för nya produkter). I en databas som ska motsvara verkliga förhållanden, till exempel ett företag, måste det gå att registrera att information saknas. Du använder funktionen ÄrNull om du vill ta reda på om ett fält eller en kontroll innehåller ett nullvärde, och du använder funktionen Nz om du vill konvertera ett nullvärde till noll.

Fält

Uttryck

Beskrivning

Leveransland

Är Null

Visar order för kunder där fältet Leveransland är null (saknas).

Leveransland

Är Icke Null

Visar order för kunder där fältet Leveransland innehåller ett värde.

Fax

""

Visar order för kunder som saknar fax, vilket anges med en nollängdssträng i stället för null (saknas) i fältet Fax.

Uttryck som använder mönster för att matcha poster

Operatorn Som ger stor flexibilitet när du försöker matcha rader som följer ett mönster, eftersom du kan använda Som tillsammans med jokertecken och definiera mönster som ska matchas. Jokertecknet * (asterisk) matchar till exempel en sekvens med valfria tecken och gör det enklare att hitta namn som börjar med en viss bokstav. Du kan till exempel använda uttrycket Som "S*" när du vill söka efter alla namn som börjar på S.

Mer information finns i artikeln Operatorn Som.

Fält

Uttryck

Beskrivning

Leveransnamn

Som "S*"

Söker efter alla poster i fältet Leveransnamn som börjar på bokstaven S.

Leveransnamn

Som "*Import"

Söker efter alla poster i fältet Leveransnamn som slutar med ordet "Import".

Leveransnamn

Som "[A-D]*"

Söker efter alla poster i fältet Leveransnamn som börjar på bokstäverna A, B, C eller D.

Leveransnamn

Som "*ar*"

Söker efter alla poster i fältet Leveransnamn som innehåller bokstavssekvensen "ar".

Leveransnamn

Som "Hotel Star???"

Söker efter alla poster i fältet Leveransnamn som innehåller "Hotel" i den första delen av värdet och en sträng på sju bokstäver där de första fyra är "Star" och de sista är okända.

Leveransnamn

Inte som "A*"

Söker efter alla poster i fältet Leveransnamn som inte börjar på bokstaven A.

Uttryck som matchar rader utifrån resultatet från en domänmängdfunktion

Du använder en domänmängdfunktion när du vill summera, räkna eller beräkna för utvalda värden. Du kanske till exempel bara vill räkna de värden som finns inom ett visst intervall eller som returnerar Ja. Ibland kanske du behöver slå upp ett värde från en annan tabell så att du kan visa det. Exempeluttrycken i tabellen nedan använder domänmängdfunktioner för att utföra en beräkning på en grupp med värden, och använder resultatet som ett frågevillkor.

Fält

Uttryck

Beskrivning

Frakt

> (DStdav("[Frakt]", "Order") + DMedel("[Frakt]", "Order"))

Använder funktionerna DStdav och DMedel för att visa alla order där fraktkostnaden överskrider medelvärdet plus standardavvikelsen för fraktkostnad.

Antal

>DMedel("[Antal]", "[Orderdetaljer]")

Använder funktionen DMedel för att visa produkter som har beställts i ett större antal än genomsnittet.

Uttryck som matchar utifrån resultat från underfrågor

Du kan använda en underfråga, en så kallad kapslad fråga, om du vill beräkna ett värde som ska användas som villkor. Exempeluttrycken i tabellen nedan matchar rader utifrån resultatet som returneras av en underfråga.

Fält

Uttryck

Visar

Enhetspris

(SELECT [Enhetspris] FROM [Produkter] WHERE [Produktnamn] = "Anissirap")

Produkter som har samma pris som anissirap.

Enhetspris

>(SELECT AVG([Enhetspris]) FROM [Produkter])

Produkter som har ett enhetspris högre än genomsnittet.

Lön

> ALL (SELECT [Lön] FROM [Anställda] WHERE ([Befattning] LIKE "*Chef*") OR ([Befattning] LIKE "*VD*"))

Löner för säljare vars lön är högre än den som gäller för alla anställda med befattningen "Chef" eller "VD".

Ordersumma: [Enhetspris] * [Antal]

> (SELECT AVG([Enhetspris] * [Antal]) FROM [Orderdetaljer])

Order med summor som är högre än ordergenomsnittet.

Uttryck som används i uppdateringsfrågor

Du använder en uppdateringsfråga när du vill ändra data i ett eller flera befintliga fält i en databas. Du kan till exempel byta ut värden eller ta bort dem helt och hållet. I den här tabellen visas hur du kan använda uttryck i uppdateringsfrågor. Du använder dessa uttryck på raden Uppdatera till i frågerutnätet för fältet som du vill uppdatera.

Mer information om hur du skapar uppdateringsfrågor finns i artikeln Skapa och kör en uppdateringsfråga.

Fält

Uttryck

Resultat

Befattning

"Säljare"

Ändrar ett textvärde till Säljare.

Projektstart

#2007-08-10#

Ändrar ett datumvärde till 10 augusti 2007.

Kasserad

Ja

Ändrar Nej till Ja i ett Ja-/Nej-fält.

ArtNr

"PN" & [ArtNr]

Lägger till PN i början av alla angivna artikelnummer.

Radartikelsumma

[Enhetspris] * [Antal]

Beräknar produkten av Enhetspris och Antal.

Frakt

[Frakt] * 1,5

Ökar fraktavgifterna med 50 procent.

Försäljning

DSumma("[Antal] * [Enhetspris]",
"Orderdetaljer", "[Produktnr]=" & [Produktnr])

Uppdaterar försäljningssummorna med produkten av fälten Antal och Enhetspris i de fall då produktnumret i den aktuella tabellen överensstämmer med det i tabellen Orderdetaljer.

Leveranspostnummer

Höger([Leveranspostnummer], 5)

Trunkerar tecknen från vänster och lämnar kvar de fem tecken som står längst till höger.

Enhetspris

Nz([Enhetspris])

Ändrar ett nullvärde (odefinierat eller okänt) till ett nollvärde (0) i fältet Enhetspris.

Uttryck som används i SQL-uttryck

Structured Query Language, eller SQL, är det frågespråk som används i Access. Alla frågor som du skapar i designvyn kan också uttryckas med hjälp av SQL. Du visar SQL-uttrycket för en fråga genom att klicka på SQL-vyVisa-menyn. I tabellen nedan visas exempel på SQL-uttryck som använder ett uttryck.

SQL-uttryck som använder ett uttryck

Resultat

SELECT [Förnamn],[Efternamn] FROM [Anställda] WHERE [Efternamn]="Andersson"

Visar värdena i fälten Förnamn och Efternamn för anställda som har efternamnet Andersson.

SELECT [Produktnr],[Produktnamn] FROM [Produkter] WHERE [Kategorinr]=Formulär![Nya produkter]![Kategorinr];

Visar värdena i fälten Produktnr och Produktnamn i tabellen Produkter för poster vars värde i fältet Kategorinr överensstämmer med värdet för Kategorinr som har angetts i det öppna formuläret Nya produkter.

SELECT Medel([UtökatPris]) AS [Medelvärde Utökat pris] FROM [Utökade orderdetaljer] WHERE [UtökatPris]>1000;

Beräknar det genomsnittliga utökade priset för order där värdet i fältet Utökat pris överskrider 1 000 och visar det i ett fält med namnet Medelvärde Utökat pris.

SELECT [Kategorinr], Antal([Produktnr]) AS [AntalProduktnr] FROM [Produkter] GROUP BY [Kategorinr] HAVING Antal([Produktnr])>10;

I fältet AntalProduktnr visas det totala antalet produkter för de kategorier som innehåller mer än tio produkter.

Överst på sidan

Exempel på uttryck för standardvärden

När du utformar en databas kanske du vill tilldela ett standardvärde för ett fält eller en kontroll. Access använder sedan detta standardvärde när en ny post som innehåller fältet skapas eller när ett objekt som innehåller kontrollen skapas. Uttrycken i tabellen nedan är exempel på standardvärden för ett fält eller en kontroll.

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

  1. Högerklicka i navigeringsfönstret på tabellen som du vill ändra och klicka sedan på Designvy på snabbmenyn.

  2. Klicka i fältet som du vill ändra och klicka sedan på egenskapsrutan Standardvärde på fliken Allmänt.

  3. Skriv uttrycket eller klicka på knappen Skapa Knappen Verktyg till höger om egenskapsrutan om du vill skapa ett uttryck med Uttrycksverktyget.

Om kontrollen är bunden till ett fält i en tabell och fältet har ett standardvärde, gäller kontrollens standardvärde.

Fält

Uttryck

Standardfältvärde

Antal

1

1

Region

"MT"

MT

Region

"New York, N.Y."

New York, N.Y. (Lägg märke till att värdet måste omges av citattecken om det innefattar skiljetecken.)

Fax

""

En nollängdssträng anger att det här fältet ska vara tomt som standard i stället för att innehålla ett nullvärde

Orderdatum

Datum( )

Dagens datum

Förfallodatum

Datum() + 60

Datumet som infaller 60 dagar framåt från i dag

Överst på sidan

Exempel på uttryck för fältverifieringsregler

Du kan skapa en verifieringsregel för ett fält eller en kontroll med hjälp av ett uttryck. Regeln används sedan när data anges i fältet eller kontrollen. Om du vill skapa en verifieringsregel ändrar du egenskapen Verifieringsuttryck för fältet eller kontrollen. Du bör också ange egenskapen Verifieringstext, som innehåller den text som ska visas vid ett brott mot verifieringsuttrycket. Om du inte anger egenskapen Verifieringstext visas ett standardfelmeddelande i Access.

Lägga till ett verifieringsuttryck i ett fält

  1. Högerklicka i navigeringsfönstret på tabellen som du vill ändra och klicka sedan på Designvy på snabbmenyn.

  2. Klicka i fältet du vill ändra.

  3. Klicka i egenskapsrutan Verifieringsuttryck som finns i den nedre delen av tabelldesignern.

  4. Skriv uttrycket eller klicka på knappen Skapa Knappen Verktyg till höger om egenskapsrutan om du vill skapa uttrycket med Uttrycksverktyget.

    Obs!: Inled inte uttrycket med operatorn = när du skapar ett verifieringsuttryck.

Exemplen i tabellen nedan visar hur verifieringsuttryck används för egenskapen Verifieringsuttryck och texten i egenskapen Verifieringstext.

Egenskapen Verifieringsuttryck

Egenskapen Verifieringstext

<> 0

Ange ett annat värde än noll.

0 Eller > 100

Värdet måste vara 0 eller över 100.

Som "K???"

Värdet måste bestå av fyra tecken och börja med bokstaven K.

< #2007-01-01#

Ange ett datum som infaller före 1 januari 2007.

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

Datumet måste infalla under 2007.

Mer information om hur du verifierar data finns i artikeln Skapa ett verifieringsuttryck som kontrollerar data i ett fält.

Överst på sidan

Exempel på uttryck för makrovillkor

Ibland vill du kanske få en åtgärd eller flera åtgärder i ett makro utförda bara om ett visst villkor är sant. Anta att du vill att en åtgärd bara ska köras när värdet i textrutan Räknare är 10. Då använder du ett uttryck för att definiera villkoret i kolumnen Villkor för makrot: [Räknare]=10.

Lägga till ett villkor för en makroåtgärd

  1. Högerklicka i navigeringsfönstret på makrot som du vill ändra och klicka sedan på Designvy på snabbmenyn.

  2. Om kolumnen Villkor inte visas i makrodesignern klickar du på Villkor i gruppen Visa/dölj på fliken Design.

  3. Klicka i cellen Villkor för makroåtgärden som du vill ändra och skriv sedan villkorsuttrycket.

  4. Spara ändringarna och stäng makrot.

Liksom med egenskapen Verifieringsuttryck är kolumnuttrycket Villkor ett villkorsuttryck. Det måste returnera antingen Sant eller Falskt. Åtgärden utförs bara när villkoret är sant.

Använd detta uttryck när du vill utföra åtgärden

Om

[Ort]="Paris"

Paris är värdet i fältet Ort i formuläret varifrån makrot körs.

DAntal("[Ordernr]", "Order") > 35

Det finns fler än 35 uppgifter i fältet Ordernr i tabellen Order.

DAntal("*", "[Orderdetaljer]", "[Ordernr]=" & Formulär![Order]![Ordernr]) > 3

Det finns fler än tre artiklar i tabellen Orderdetaljer för vilka fältet Ordernr i tabellen matchar fältet Ordernr i formuläret Order.

[Skeppningsdatum] Mellan #2007-02-02# Och #2007-03-02#

Värdet i fältet Skeppningsdatum i formuläret varifrån makrot körs får inte vara tidigare än 2 februari 2007 och inte senare än 2 mars 2007.

Formulär![Produkter]![AntalILager] < 5

Värdet i fältet AntalILager i formuläret Produkter är mindre än 5.

ÄrNull([Förnamn])

Värdet Förnamn i formuläret varifrån makrot körs är null (har inget värde). Det här uttrycket är likvärdigt med [Förnamn] Är Null.

[Land]="Sverige" Och Formulär![FörsäljningTotalt]![OrderTotalt] > 100

Värdet i fältet Land i formuläret varifrån makrot körs är Sverige och värdet i fältet OrderTotalt i formuläret FörsäljningTotalt är större än 100.

[Land] I ("Frankrike", "Italien", "Spanien") Och Längd([Postnummer])<>5

Värdet i fältet Land i det formulär från vilket makrot körs är antingen Frankrike, Italien eller Spanien och postnumret innehåller inte 5 tecken.

Meddelanderuta("Bekräfta ändringar?",1)=1

Du klickar på OK i en dialogruta som funktionen Meddelanderuta visar. Om du klickar på Avbryt i dialogrutan ignoreras åtgärden i Access.

Obs!: Du kan tvinga Access att temporärt ignorera en åtgärd genom att skriva Falskt som ett villkor. Du kan ha stor nytta av att låta en åtgärd ignoreras temporärt när du felsöker ett makro.

Överst på sidan

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×