Exempel på uttryck

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

I den här artikeln

Formulär och rapporter

Alla formulärs- och rapportuttryck

Textåtgärder; Värden i andra kontrollerDatumåtgärder Sidhuvuden och sidfötterAntal, summa och medelvärdesvärden; Villkor för endast två värden Aritmetiska operationer; SQL-mängdfunktioner

Frågor och filter

Alla fråge- och filteruttryck

Textåtgärder; SQL-mängdfunktionerMatcha textvärdenMatcha postmönster med Gilla; Uppdatera frågor Aritmetiska operationer; Hitta saknade data; Matcha datumvillkorMatcha rader med SQL-mängder. SQL-uttryck DatumåtgärderBeräknade fält med underfrågor. Fält med saknade dataMatcha fält med underfrågor

Tabeller

Alla tabelluttryck

Fältstandardvärden Fältverifieringsuttryck

Makron

Alla makrouttryck

Formulär och rapporter

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

Obs

Du kan också 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 + (plus) för att kombinera textsträngar, använda inbyggda funktioner för att arbeta med text eller på annat sätt 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) Left Använder funktionen för att visa det första tecknet i värdet i ett fält eller en kontroll som kallas ProductName.
=Right([AssetCode], 2) Right Använder funktionen för att visa de två sista tecknen i värdet i ett fält eller en kontroll som kallas AssetCode.
=Trim([Address]) Trim Använder funktionen för att visa värdet på Address kontrollen när inledande och avslutande blanksteg har tagits bort.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) IIf Använder funktionen för att visa värdena för City och PostalCode kontroller om Region kontrollen är null. Annars visas värdena i Citykontrollerna , Regionoch PostalCode avgränsade med blanksteg.
=[City] & (" " + [Region]) & " " & [PostalCode] Använder operatorn + och spridning av City null för att visa värdena för och PostalCode kontroller om värdet i Region fältet eller kontrollen är null. Annars visas värdena för City, Region, och PostalCode fält eller kontroller avgränsade med blanksteg. Spridning av null innebär att om någon del av ett uttryck är null är hela uttrycket null. Operatorn + stöder spridning av null, men inte operatorn & .

Tillbaka till början

Rubriker och sidfötter

Page Använd egenskaperna och Pages för att visa eller skriva ut sidnummer i formulär eller rapporter. De här egenskaperna är endast tillgängliga under utskrift eller förhandsgranskning, så de visas inte på egenskapssidan för formuläret eller rapporten. Vanligtvis placerar du en textruta i sidhuvuds- eller sidfotsavsnittet i formuläret eller rapporten och använder sedan ett uttryck som de som visas i följande tabell.

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

Tillbaka till början

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 fältet, eller i en kontroll som är bunden till fältet, returnerar uttrycket =[RequiredDate] - 2 ett datum-/tidsvärde som är lika med två dagar före de aktuella värdena i fältet BegärtDatum.

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 (+, -, *, eller /) i ett uttryck och en av kontrollerna är null blir resultatet av hela uttrycket null. Det här kallas spridning av null. Om en kontroll kan ha ett null-värde kan du undvika spridning av null genom att använda funktionen Nnoll för att konvertera null-värdet till noll. Använd till exempel =Nz([Subtotal])+Nz([Freight]).

Tillbaka till början

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.

Tillbaka till början

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 värdet Sales på kontrollen divideras med summan av alla värden i Sales kontrollen. Om du anger Format egenskapen för kontrollen till Percent, inkludera *100 inte 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.

Tillbaka till början

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.

Tillbaka till början

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 dagens datum i form av mm-dd-yy, där mm är månaden (1 till och med 12), dd är dagen (1 till och med 31) och yy är de två sista siffrorna på å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 vecka 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.

Tillbaka till början

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 till tre argument: Det första argumentet är ett uttryck som måste returnera ett True eller False ett värde. 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 för 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.

Tillbaka till början

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 ett start- och slutdatum och begränsa resultatet av frågan till order som levererats mellan dessa datum.

Följande avsnitt innehåller exempel på uttryck som kan användas i frågor.

Textåtgärder i frågor

Uttrycken i följande tabell använder & operatorerna och + för att kombinera textsträngar, använda inbyggda funktioner för att använda en textsträng eller på annat sätt använda 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.

Tillbaka till början

Aritmetiska operationer i frågor

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 är lika med två dagar före värdet i fältet BegärtDatum.

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 FreightPercentageoch visar sedan procentandelen fraktavgifter i varje delsumma. Det här uttrycket använder Sum funktionen för att summera värdena i Freight fältet och dividerar sedan dessa summor med summan av värdena i Subtotal fältet. Om du vill använda det här uttrycket konverterar du urvalsfrågan till en summafråga. Du måste använda raden Summa i designrutnätet och ange cellen Summa för det här fältet till Expression. Mer information om hur du skapar en summafråga finns i Summera data med hjälp av en fråga. Om du anger Format egenskapen för fältet till Percent, 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.

Tillbaka till början

Datumåtgärder i frågor

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.

Tillbaka till början

SQL-mängdfunktioner i frågor

Uttrycken i följande tabell använder SQL-funktioner som sammanställer eller summerar data. Du ser ofta funktioner som Sum, Countoch Avg kallas mängdfunktioner.

Förutom mängdfunktioner innehåller Access även mängdfunktioner för domäner som du kan använda 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. Domänmängdfunktionerna omfattar DSumma, DAntal och DMedel.

För att beräkna summor behöver du ofta skapa en summafråga. Om du till exempel vill summera efter grupp använder du en summafråga. Om du vill aktivera en summafråga från frågerutnätet väljer du 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 FreightPercentageoch beräknar sedan procentandelen fraktavgifter i varje delsumma genom att summan av värdena i Freight fältet divideras med summan av värdena i Subtotal fältet. I det Sum här exemplet används funktionen. Du måste använda det här uttrycket tillsammans med en summeringsfråga. Om du anger Format egenskapen för fältet till Percent, ska du inte ta med *100. Mer information om hur du skapar en summafråga finns i 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.

Tillbaka till början

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.

Tillbaka till början

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.

Tillbaka till början

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 levereras till London eller Hedge End.
Leveransland In("Canada", "UK") Använder operatorn In för att visa order som levererats till Kanada eller Storbritannien.
Leveransland Not "USA" Använder operatorn Not för att visa order som levererats till andra länder/regioner än USA.
Produktnamn Not Like "C*" Använder operatorn Not och * jokertecknet för att visa produkter vars namn inte börjar med C.
Företagsnamn >="N" Visar order som levereras till företag vars namn börjar med bokstäverna N via Z.
Produktkod Right([ProductCode], 2)="99" Använder funktionen Höger för att visa order med ProductCode-värden som slutar på 99.
Leveransnamn Like "S*" Visar order som levereras till kunder vars namn börjar med bokstaven S.

Tillbaka till början

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 som krävs mellan dagens datum och tre månader från dagens datum.
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...Andför att visa order som levererats tidigast 5 januari 2017 och senast 10 januari 2017.
BegärtLeveransdatum Between Date( ) And DateAdd("M", 3, Date( )) Använder operatorn Between...And för att visa order som krävs mellan dagens datum och tre månader från dagens datum.
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.

Tillbaka till början

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.

Tillbaka till början

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 med jokertecken och definiera mönster som access ska matcha. Jokertecknet (asterisk) matchar till exempel * en sekvens av tecken av alla typer och gör det enkelt att hitta alla namn som börjar med en bokstav. Du kan till exempel använda uttrycket Like "S*" för att hitta alla namn som börjar med bokstaven S. Mer information finns i artikeln Som operator.

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 Like "Maison Dewe?" 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.

Tillbaka till början

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.

Tillbaka till början

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.

Tillbaka till början

Uppdateringsfrågor

Använd en uppdateringsfråga för att ä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 några sätt att använda uttryck i uppdateringsfrågor. Använd de här uttrycken Update To på raden i frågerutnätet för det fält 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.

Tillbaka till början

SQL-uttryck

Structured Query Language (SQL) är det frågespråk som används i Access. Alla frågor som du skapar i frågedesignvyn kan också uttryckas med hjälp av SQL. Om du vill visa SQL-uttrycket för en fråga väljer du SQL-vyVisa-menyn . I följande tabell 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.

Tillbaka till början

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 tillhandahåller sedan det värdet när en ny post som innehåller fältet skapas eller när ett objekt som innehåller kontrollen skapas. Uttrycken i följande tabell visar exempel på standardvärden för ett fält eller en kontroll. Om en kontroll är bunden till ett fält i en tabell och fältet har ett standardvärde har kontrollens standardvärde företräde.

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

Tillbaka till början

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 ett verifieringsuttryck ändrar du egenskapen för ValidationRule fältet eller kontrollen. Du bör också överväga att ange ValidationText egenskapen, som innehåller den text som visas i Access när verifieringsuttrycket överträds. Om du inte anger egenskapen ValidationText visas ett standardfelmeddelande i Access.

I exemplen i tabellen nedan visas verifieringsuttryck för ValidationRule egenskapen och tillhörande text för ValidationText egenskapen.

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.

Tillbaka till början

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 ValidationRule egenskapen är uttrycket i ett Om-block ett villkorsuttryck. Det måste lösa sig till antingen 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.

Tillbaka till början

Se även