Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Den här artikeln innehåller många 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.

I den här artikeln

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.

Obs    Du kan även använda uttryck i ett formulär eller en rapport när du markerar data med villkorsstyrd formatering.

Textoperationer

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

Funktion

="N/A"

Visar Saknas.

=[FirstName] & " " & [LastName]

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.

=Left([ProductName], 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.

=Right([AssetCode], 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.

=Trim([Address])

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

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

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.

=[City] & (" " + [Region]) & " " & [PostalCode]

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

Överst på sidan

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

Funktion

=[Page]

1

="Page " & [Page]

Sida 1

="Page " & [Page] & " of " & [Pages]

Sida 1 av 3

=[Page] & " of " & [Pages] & " Pages"

1 av 3 sidor

=[Page] & "/" & [Pages] & " Pages"

1/3 sidor

=[Country/region] & " - " & [Page]

Sverige – 1

=Format([Page], "000")

001

="Printed on: " & Date()

Utskriven: 2017-12-31

Överst på sidan

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 =[RequiredDate] - 2 ett datum-/tidsvärde som infaller två dagar före de aktuella värdena i fältet BegärtLeveransdatum.

Uttryck

Funktion

=[Subtotal]+[Freight]

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

=[RequiredDate]-[ShippedDate]

Intervallet mellan datumvärdena i fälten eller kontrollerna för BegärtLeveransdatum och Avsändningsdatum.

=[Price]*1.06

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

=[Quantity]*[Price]

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

=[EmployeeTotal]/[CountryRegionTotal]

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([Subtotal])+Nz([Freight]).

Överst på sidan

Värden i andra 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

Funktion

=Forms![Orders]![OrderID]

Värdet av kontrollen för Ordernr i Orderformuläret.

=Forms![Orders]![Orders Subform].Form![OrderSubtotal]

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

=Forms![Orders]![Orders Subform]![ProductID].Column(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.)

=Forms![Orders]![Orders Subform]![Price] * 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).

=Parent![OrderID]

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.

Uttryck

Funktion

=Report![Invoice]![OrderID]

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

=Report![Summary]![Summary Subreport]![SalesTotal]

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

=Parent![OrderID]

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

Överst på sidan

Antal, summa och medelvärde

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

=Avg([Freight])

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

=Count([OrderID])

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

=Sum([Sales])

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

=Sum([Quantity]*[Price])

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

=[Sales]/Sum([Sales])*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.

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, Visa kolumnsummor i ett datablad med hjälp av en summarad och Visa kolumnsummor i ett datablad.

Överst på sidan

SQL-mängdfunktioner

Du använder en typ av funktion som kallas för SQL- eller 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

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]"))

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.

=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID])

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.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = '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.

=DCount("[Retired]","[Assets]","[Retired]=Yes")

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.

Överst på sidan

Datumoperationer

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

=Date()

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

=Format(Now(), "ww")

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

=DatePart("yyyy", [OrderDate])

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

=DateAdd("y", -10, [PromisedDate])

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

=DateDiff("d", [OrderDate], [ShippedDate])

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

=[InvoiceDate] + 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.

Överst på sidan

Villkor för endast två 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 True eller False. 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

=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed")

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

=IIf(IsNull([Country/region]), " ", [Country])

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.

=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode])

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.

=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

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

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 Between för att ange start- och slutdatum och begränsa resultaten av frågan till order som levererades mellan dessa datum.

Nedan är exempel på uttryck du kan använda i frågor.

Textoperationer

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

FullName: [FirstName] & " " & [LastName]

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

Address2: [City] & " " & [Region] & " " & [PostalCode]

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

ProductInitial: Left([ProductName], 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.

TypeCode: Right([AssetCode], 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.

AreaCode: Mid([Phone],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.

ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100

Namnger det beräknade fältet UtökatPris och använder funktionen KonvVal för att beräkna radartikelsummor med tillämpad rabatt.

Överst på sidan

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 även utföra aritmetiska operationer på datum. Anta att du har ett datum/tid-fält med namnet BegärtLeveransdatum. Uttrycket =[RequiredDate] - 2 returnerar ett datum-/tidsvärde som infaller två dagar före värdet i fältet BegärtLeveransdatum.

Uttryck

Beskrivning

PrimeFreight: [Freight] * 1.1

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

OrderAmount: [Quantity] * [UnitPrice]

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

LeadTime: [RequiredDate] - [ShippedDate]

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

TotalStock: [UnitsInStock]+[UnitsOnOrder]

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

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *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, Visa kolumnsummor i ett datablad med hjälp av en summarad och Visa kolumnsummor i ett datablad.

Överst på sidan

Datumoperationer

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

LagTime: DateDiff("d", [OrderDate], [ShippedDate])

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.

YearHired: DatePart("yyyy",[HireDate])

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.

MinusThirty: Date( )- 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.

Överst på sidan

SQL-mä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

RowCount: Count(*)

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

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *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.)

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.

AverageFreight: DAvg("[Freight]", "[Orders]")

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.

Överst på sidan

Fält med saknade data

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

CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion])

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.

LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate])

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.

SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales])

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.

Överst på sidan

Beräknade fält med underfrågor

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

Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID])

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

Överst på sidan

Matcha 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" Or "Hedge End"

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

Leveransland

In("Canada", "UK")

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

Leveransland

Not "USA"

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

Produktnamn

Not Like "C*"

Använder operatorn Not 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 Z.

Produktkod

Right([ProductCode], 2)="99"

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

Leveransnamn

Like "S*"

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

Överst på sidan

Matcha datumvillkor

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 Formatera ett datum- eller tidsfält.

Fält

Uttryck

Beskrivning

Leveransdatum

#2/2/2017#

Visar order som utlevererades den 2 februari 2017.

Leveransdatum

Date()

Visar order som utlevererades idag.

BegärtLeveransdatum

Between Date( ) And DateAdd("m", 3, Date( ))

Använder operatorn Between...And 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

< Date( ) - 30

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

Orderdatum

Year([OrderDate])=2017

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

Orderdatum

DatePart("q", [OrderDate])=4

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

Orderdatum

DateSerial(Year ([OrderDate]), Month([OrderDate])+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

Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now())

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

Leveransdatum

Between #1/5/2017# And #1/10/2017#

Använder operatorn Between...And för att visa order som inte utlevererades tidigare än den 5 januari 2017 och inte senare än den 10 januari 2017.

BegärtLeveransdatum

Between Date( ) And DateAdd("M", 3, Date( ))

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

Födelsedatum

Month([BirthDate])=Month(Date())

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

Överst på sidan

Hitta saknade data

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

Is Null

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

Leveransland

Is Not 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.

Överst på sidan

Matcha postmönster med Som

Operatorn Like ger stor flexibilitet när du försöker matcha rader som följer ett mönster, eftersom du kan använda Like 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 använder till exempel uttrycket Like "S*" för att hitta alla namn som börjar med bokstaven S. Mer information finns i artikeln Operatorn Som.

Fält

Uttryck

Beskrivning

Leveransnamn

Like "S*"

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

Leveransnamn

Like "*Imports"

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

Leveransnamn

Like "[A-D]*"

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

Leveransnamn

Like "*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

Not Like "A*"

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

Överst på sidan

Matcha rader med SQL-mängder

Du använder en SQL- eller domänmängdfunktion när du vill summera, räkna eller beräkna medelvärde 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

> (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

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

Antal

> DAvg("[Quantity]", "[Order Details]")

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

Överst på sidan

Matcha fält med 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 [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Produkter som har samma pris som anissirap.

Enhetspris

>(SELECT AVG([UnitPrice]) FROM [Products])

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

Lön

> ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*"))

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([UnitPrice] * [Quantity]) FROM [Order Details])

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

Överst på sidan

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öra en uppdateringsfråga.

Fält

Uttryck

Funktion

Titel

"Salesperson"

Ändrar ett textvärde till Säljare.

Projektstart

#8/10/17#

Ändrar ett datumvärde till 10 augusti 2017.

Kasserad

Yes

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

ArtNr

"PN" & [PartNumber]

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

Radartikelsumma

[UnitPrice] * [Quantity]

Beräknar produkten av Enhetspris och Antal.

Frakt

[Freight] * 1.5

Ökar fraktavgifterna med 50 procent.

Försäljning

DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID])

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

Right([ShipPostalCode], 5)

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

Enhetspris

Nz([UnitPrice])

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

Överst på sidan

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 [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

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

SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID];

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 Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>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 [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

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

Överst på sidan

Tabelluttryck

De två vanligaste sätt att använda uttryck i tabeller är att tilldela ett standardvärde och skapa ett verifieringsuttryck.

Fältstandardvä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. 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

Date( )

Dagens datum

Förfallodatum

Date() + 60

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

Överst på sidan

Fältverifieringsuttryck

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.

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 Or > 100

Värdet måste vara antingen 0 eller större än 100.

Like "K???"

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

< #1/1/2017#

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

>= #1/1/2017# And < #1/1/2008#

Datumet måste infalla under 2017.

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

Överst på sidan

Makrouttryck

Ibland vill du kanske få åtgärder utförda bara om ett visst villkor uppfylls. Anta att du till exempel vill att en åtgärd bara ska köras när värdet i textrutan Räknare är 10. Du använder ett uttryck för att definiera villkoret i ett Om-block:

[Counter]=10

Precis som med egenskapen Verifieringsuttryck är uttrycket i ett Om-block ett villkorsuttryck. Det måste returnera antingen värdet True eller False. Åtgärden utförs bara när villkoret är sant.

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

Om

[City]="Paris"

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

DCount("[OrderID]", "Orders") > 35

Det finns fler än 35 poster i fältet Ordernr i Ordertabellen.

DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3

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

[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017#

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

Forms![Products]![UnitsInStock] < 5

Värdet i fältet Lagerhållning i Produktformuläret är mindre än 5.

IsNull([FirstName])

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.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 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.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>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.

MsgBox("Confirm changes?",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.

Överst på sidan

Se även

Använda Uttrycksverktyget

Introduktion till uttryck

Lär dig att skapa ett uttryck

En guide till uttryckens syntax

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.