Eksempler på udtryk

Gælder for
Access til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Denne artikel indeholder eksempler på udtryk i Access. Et udtryk kombinerer matematiske eller logiske operatorer, konstanter, funktioner, tabelfelter, kontrolelementer og egenskaber til en enkelt værdi. Du kan bruge udtryk i Access til at beregne værdier, validere data og angive standardværdier.

I denne artikel

Formularer og rapporter

Alle formular- og rapportudtryk

Teksthandlinger; Værdier i andre kontrolelementer. Datohandlinger Sidehoveder og sidefødder; Antal, sum og gennemsnitsværdier.Betingelser for kun to værdier Matematiske handlinger; SQL-aggregeringsfunktioner

Forespørgsler og filtre

Alle forespørgsels- og filterudtryk

Teksthandlinger; SQL-aggregeringsfunktioner; Match tekstværdier. Matche postmønstre med Like; Opdateringsforespørgsler Matematiske handlinger; Find manglende data. Match datokriterier. Match rækker med SQL-aggregater. SQL-sætninger Datohandlinger; Beregnede felter med underforespørgsler. Felter med manglende data. Match felter med underforespørgsler

Tabeller

Alle tabeludtryk

Feltets standardværdier Feltvalideringsregler

Makroer

Alle makroudtryk

Formularer og rapporter

Tabellerne i dette afsnit viser udtryk, der beregner en værdi i et kontrolelement i en formular eller rapport. Hvis du vil oprette et beregnet kontrolelement, skal du angive et udtryk i ControlSource egenskaben for kontrolelementet i stedet for i et tabelfelt eller en forespørgsel.

Bemærk

Du kan også bruge udtryk i en formular eller rapport, når du fremhæver data med betinget formatering.

Teksthandlinger

Udtrykkene i følgende tabel bruger operatorerne & (og-tegn) og + (plus) til at kombinere tekststrenge, bruge indbyggede funktioner til at arbejde med tekst eller på anden måde oprette et beregnet kontrolelement.

Udtryk Resultat
="N/A" Viser I/T.
=[FirstName] & " " & [LastName] Viser de værdier, der findes i tabelfelterne Fornavn og Efternavn. I dette eksempel bruges operatoren & til at kombinere feltet Fornavn, et mellemrumstegn (omsluttet af anførselstegn) og feltet Efternavn.
=Left([ProductName], 1) Left Anvender funktionen til at vise det første tegn i værdien i et felt eller kontrolelement kaldet ProductName.
=Right([AssetCode], 2) Right Anvender funktionen til at vise de sidste to tegn i værdien i et felt eller kontrolelement, der kaldes AssetCode.
=Trim([Address]) Anvender funktionen Trim til at vise værdien af Address kontrolelementet, når du har fjernet foranstillede og efterstillede mellemrum.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) IIf Anvender funktionen til at vise værdierne for kontrolelementerne City og PostalCode , hvis Region kontrolelementet er null. Ellers vises værdierne i kontrolelementerne City, Regionog PostalCode adskilt af mellemrum.
=[City] & (" " + [Region]) & " " & [PostalCode] Anvender operatoren + og null-overførsel til at vise værdierne i City og PostalCode -kontrolelementerne, hvis værdien i feltet Region eller kontrolelementet er null. Ellers vises værdierne i felterne eller kontrolelementerne City, Regionog PostalCode adskilt af mellemrum. Null-overførsel betyder, at hvis en del af et udtryk er null, er hele udtrykket null. Operatoren + understøtter null-overførsel, men det gør operatoren & ikke.

Tilbage til toppen

Sidehoveder og sidefødder

Brug egenskaberne Page og Pages til at få vist eller udskrive sidetal i formularer eller rapporter. Disse egenskaber er kun tilgængelige under udskrivning eller Vis udskrift, så de vises ikke på egenskabsarket for formularen eller rapporten. Du placerer typisk et tekstfelt i sidehovedet eller sidefoden i formularen eller rapporten og derefter bruger et udtryk som dem, der er vist i følgende tabel.

Læs artiklen Indsæt sidetal i en formular eller rapport for at få flere oplysninger om at bruge sidehoveder og sidefødder i formularer og rapporter.

Udtryk Resultat
=[Page] 1
="Page " & [Page] Side 1
="Page " & [Page] & " of " & [Pages] Side 1 af 3
=[Page] & " of " & [Pages] & " Pages" 1 af 3 sider
=[Page] & "/" & [Pages] & " Pages" 1/3 sider
=[Country/region] & " - " & [Page] DK – 1
=Format([Page], "000") 001
="Printed on: " & Date() Udskrevet: 31-12-17

Tilbage til toppen

Matematiske operationer

Du kan bruge udtryk til at addere, subtrahere, multiplicere og dividere værdierne i to eller flere felter eller kontrolelementer. Du kan også bruge udtryk til at udføre matematiske operationer på datoer. Lad os antage, at du har et felt med dato og klokkeslæt i en tabel med navnet Leveringsdato. I feltet eller i et kontrolelement, der er bundet til feltet, returnerer udtrykket =[RequiredDate] - 2 en dato/klokkeslætsværdi, der er lig med to dage før de aktuelle værdier i feltet Leveringsdato.

Udtryk Resultat
=[Subtotal]+[Freight] Summen af værdierne i felterne eller kontrolelementerne Subtotal og Fragt.
=[RequiredDate]-[ShippedDate] Intervallet mellem datoværdierne i felterne eller kontrolelementerne Leveringsdato og Forsendelsesdato.
=[Price]*1.06 Produktet af værdien i feltet eller kontrolelementet Pris og 1,06 (føjer 6 procent til værdien Pris).
=[Quantity]*[Price] Produktet af værdierne i felterne eller kontrolelementerne Antal og Pris.
=[EmployeeTotal]/[CountryRegionTotal] Kvotienten af værdierne i felterne eller kontrolelementerne Medarbejdertotal og Landetotal.

Bemærk!

Når du bruger en matematisk operator (+, -, *eller /) i et udtryk, og et af kontrolelementerne er null, er resultatet af hele udtrykket null. Dette kaldes null-overførsel. Hvis et kontrolelement kan have en null-værdi, kan du undgå null-overførsel ved at bruge funktionen Nz til at konvertere null-værdien til nul. Brug f.eks. =Nz([Subtotal])+Nz([Freight]).

Tilbage til toppen

Værdier i andre kontrolelementer

Du kan få brug for en værdi, der findes et andet sted, som f.eks. i et felt eller et kontrolelement i en anden formular eller rapport. Du kan bruge et udtryk for at returnere værdien fra et andet felt eller kontrolelement.

I nedenstående tabel vises eksempler på udtryk, du kan bruge i beregnede kontrolelementer i formularer.

Udtryk Resultat
=Forms![Orders]![OrderID] Værdien af kontrolelementet Ordre-id i formularen Ordrer.
=Forms![Orders]![Orders Subform].Form![OrderSubtotal] Værdien af kontrolelementet Ordresubtotal i underformularen ved navn Underformularen Ordrer i formularen Ordrer.
=Forms![Orders]![Orders Subform]![ProductID].Column(2) Værdien af tredje kolonne i Produkt-id, et listefelt med flere kolonner på underformularen ved navn Underformularen Ordrer på formularen Ordrer. Bemærk, at 0 refererer til den første kolonne, 1 refererer til den anden kolonne osv.
=Forms![Orders]![Orders Subform]![Price] * 1.06 Produktet af værdien af kontrolelementet Pris i underformularen Ordrer i formularen Ordrer og 1,06 (tilføjer 6 procent til værdien af kontrolelementet Pris).
=Parent![OrderID] Værdien af kontrolelementet Ordre-id i hovedvinduet eller den overordnede formular i den aktuelle underformular.

Udtrykkene i følgende tabel viser eksempler på anvendelsen af beregnede kontrolelementer i rapporter. Udtrykkene refererer til egenskaben Rapport.

Udtryk Resultat
=Report![Invoice]![OrderID] Værdien af kontrolelementet "Ordre-id" i rapporten "Faktura".
=Report![Summary]![Summary Subreport]![SalesTotal] Værdien af kontrolelementet Salgstotal i underrapporten Oversigtsunderrapport i rapporten Oversigt.
=Parent![OrderID] Værdien af kontrolelementet Ordre-id i hovedrapporten eller den overordnede rapport i den aktuelle underrapport.

Tilbage til toppen

Antal, sum og gennemsnit af værdier

Du kan bruge en type funktion, der kaldes en aggregeringsfunktion, til at beregne værdierne for et eller flere felter eller kontrolelementer. Du kan f.eks. beregne en gruppetotal for gruppefoden i en rapport eller en ordresubtotal for linjeelementer i en formular. Du kan også tælle antallet af elementer i ét eller flere felter eller beregne en gennemsnitlig værdi.

Udtrykkene i følgende tabel viser nogle måder at bruge funktioner på, som f.eks. Avg, Count og Sum.

Udtryk Beskrivelse
=Avg([Freight]) Anvender funktionen Avg til at vise gennemsnittet af værdierne i et tabelfelt eller kontrolelement med navnet "Fragt".
=Count([OrderID]) Anvender funktionen Count til at vise antallet af poster i kontrolelementet Ordre-id.
=Sum([Sales]) Anvender funktionen Sum til at vise summen af værdierne i kontrolelementet Salg.
=Sum([Quantity]*[Price]) Anvender funktionen Sum til at vise summen af produktet af værdierne i kontrolelementerne Pris og Antal.
=[Sales]/Sum([Sales])*100 Viser procentdelen af salg ved at dividere værdien af Sales kontrolelementet med summen af alle værdier i Sales kontrolelementet. Hvis du angiver egenskaben Format for kontrolelementet til Percent, skal du ikke medtage *100 i udtrykket.

Hvis du vil have mere at vide om at bruge aggregeringsfunktioner og at beregne totalværdier i felter og kolonner, skal du se artiklerne Opsummer data ved hjælp af en forespørgsel, Optæl data ved hjælp af en forespørgsel, Vis kolonnetotaler i et regneark ved hjælp af rækken Total og Vis kolonnetotaler i et dataark.

Tilbage til toppen

SQL-aggregeringsfunktioner

Når du vil sammenlægge eller tælle værdier selektivt, skal du bruge en funktionstype, der kaldes en SQL-funktion eller en domæneaggregeringsfunktion. Et "domæne" består af et eller flere felter i en eller flere tabeller eller et eller flere kontrolelementer i en eller flere formularer eller rapporter. Du kan f.eks. sammenligne værdierne i et tabelfelt med værdierne i et kontrolelement i en formular.

Udtryk Beskrivelse
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms("Suppliers")("[SupplierID]")) Anvender funktionen DLookup til at returnere værdien af feltet Kontaktnavn i tabellen Leverandører, hvor værdien af feltet Leverandør-id i tabellen svarer til værdien af kontrolelementet Leverandør-id i formularen Leverandører.
=DLookup("[ContactName]", "[Suppliers]", "[SupplierID] = " & Forms![New Suppliers]![SupplierID]) Anvender funktionen DLookup til at returnere værdien af feltet Kontaktnavn i tabellen Leverandører, hvor værdien af feltet Leverandør-id i tabellen svarer til værdien af kontrolelementet Leverandør-id i formularen Nye leverandører.
=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'") Anvender funktionen DSum til at returnere den samlede sum af værdierne i feltet Ordrebeløb i tabellen Ordrer, hvor Kunde-id er RATTC.
=DCount("[Retired]","[Assets]","[Retired]=Yes") Anvender funktionen DCount til at returnere antallet af Ja-værdier i feltet Pensioneret (et Ja/Nej-felt) i tabellen Aktiver.

Tilbage til toppen

Datohandlinger

Registrering af datoer og klokkeslæt er en grundlæggende databaseaktivitet. Du kan f.eks. beregne, hvor mange dage, der er gået siden fakturadatoen for at registrere tidsintervaller i debitorbogholderiet. Du kan formatere datoer og klokkeslæt på mange måder, som det fremgår af nedenstående tabel.

Udtryk Beskrivelse
=Date() Anvender funktionen Dato til at vise den aktuelle dato i form af mm-dd-yy, hvor mm er måneden (1 til 12), dd er dagen (1 til 31) og yy er de to sidste cifre i året (1980 til 2099).
=Format(Now(), "ww") Anvender funktionen Format til at vise ugenummeret for året for den aktuelle dato, hvor ww repræsenterer uge 1 til 53.
=DatePart("yyyy", [OrderDate]) Anvender funktionen DatePart til at vise det firecifrede årstal for værdien i kontrolelementet Ordredato.
=DateAdd("y", -10, [PromisedDate]) Anvender funktionen DateAdd til at vise en dato, der er 10 dage før værdien af kontrolelementet AftaltDato.
=DateDiff("d", [OrderDate], [ShippedDate]) Anvender funktionen DateDiff til at vise antallet af dages forskel mellem værdierne i kontrolelementerne Ordredato og Forsendelsesdato.
=[InvoiceDate] + 30 Anvender matematiske operationer på datoer til at beregne datoen 30 dage efter datoen i feltet eller kontrolelementet Fakturadato.

Tilbage til toppen

Betingelser for kun to værdier

Eksempeludtrykkene i følgende tabel anvender IIf-funktionen til at returnere en af to mulige værdier. Du videregiver funktionen IIf tre argumenter: Det første argument er et udtryk, der skal returnere en True eller False værdi. Det andet argument er den værdi, der skal returneres, hvis udtrykket er sandt, og det tredje argument er den værdi, der skal returneres, hvis udtrykket er falsk.

Udtryk Beskrivelse
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") Bruger funktionen IIf (Immediate If) til at vise meddelelsen "Ordre bekræftet", hvis værdien af kontrolelementet Bekræftet er Yes; ellers vises meddelelsen "Order Not Confirmed."
=IIf(IsNull([Country/region]), " ", [Country]) Anvender funktionerne IIf og IsNull til at vise en tom streng, hvis værdien i feltet Land/område er null, og ellers vises værdien fra kontrolelementet Land/område.
=IIf(IsNull([Region]), [City] & " " & [PostalCode], [City] & " " & [Region] & " " & [PostalCode]) Anvender funktionerne IIf og IsNull til at vise værdierne for kontrolelementerne By og Postnummer, hvis værdien i kontrolelementet Område er null, og ellers vises værdierne for felterne eller kontrolelementerne By, Område og Postnummer.
=IIf(IsNull([RequiredDate]) Or IsNull([ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Anvender funktionerne IIf og IsNull til at vise meddelelsen "Kontrollér, om der mangler en dato", hvis resultatet af at trække Forsendelsesdato fra Leveringsdato er null, og ellers vises intervallet mellem datoværdierne i kontrolelementerne Leveringsdato og Forsendelsesdato.

Tilbage til toppen

Forespørgsler og filtre

Denne sektion indeholder eksempler på udtryk, der kan bruges til at oprette et beregnet felt i en forespørgsel eller til at levere kriterier til en forespørgsel. Et beregnet felt er en kolonne i en forespørgsel, der kommer af et udtryk. Du kan f.eks. beregne en værdi, kombinere tekstværdier som f.eks. fornavn og efternavn eller formatere en del af en dato.

Du kan bruge kriterier i en forespørgsel til at begrænse de poster, du arbejder med. Du kan f.eks. bruge operatoren Between til at angive en start- og slutdato og begrænse resultaterne af forespørgslen til ordrer, der er afsendt mellem disse datoer.

De følgende afsnit indeholder eksempler på udtryk til brug i forespørgsler.

Teksthandlinger i forespørgsler

Udtrykkene i følgende tabel bruger operatorerne & og + til at kombinere tekststrenge, bruge indbyggede funktioner til at arbejde på en tekststreng eller på anden måde arbejde på tekst for at oprette et beregnet felt.

Udtryk Beskrivelse
FullName: [FirstName] & " " & [LastName] Opretter et felt med navnet Fulde navn, der viser værdierne i felterne Fornavn og Efternavn, adskilt af et mellemrum.
Address2: [City] & " " & [Region] & " " & [PostalCode] Opretter et felt med navnet Adresse2, der viser værdierne i felterne By, Område og Postnummer adskilt af mellemrum.
ProductInitial: Left([ProductName], 1) Opretter et felt med navnet Produktinitial og anvender derefter funktionen Left til at vise det første tegn af værdien i feltet Produktnavn i feltet Produktinitial.
TypeCode: Right([AssetCode], 2) Opretter et felt med navnet Typenummer og anvender derefter funktionen Right til at vise de sidste to tegn af værdierne i feltet Aktivnummer.
AreaCode: Mid([Phone],2,3) Opretter et felt med navnet Områdenummer og anvender derefter funktionen Mid til at vise de tre tegn, hvor det første er det andet tegn af værdien i feltet Telefon.
ExtendedPrice: CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100 Navngiver det beregnede felt UdvidetPris og anvender funktionen CCur til at beregne linjeelementtotaler med en anvendt rabat.

Tilbage til toppen

Matematiske handlinger i forespørgsler

Du kan bruge udtryk til at addere, subtrahere, multiplicere og dividere værdierne i to eller flere felter eller kontrolelementer. Du kan også udføre matematiske operationer på datoer. Lad os antage, at du har et felt med dato og klokkeslæt med navnet Leveringsdato. Udtrykket =[RequiredDate] - 2 returnerer en Dato/klokkeslæt-værdi, der er lig med to dage før værdien i feltet Leveringsdato.

Udtryk Beskrivelse
PrimeFreight: [Freight] * 1.1 Opretter et felt kaldet PrimærFragt og viser derefter fragtomkostninger plus 10 procent i feltet.
OrderAmount: [Quantity] * [UnitPrice] Opretter et felt kaldet Ordrebeløb og viser derefter produktet af værdierne i felterne Antal og Enhedspris.
LeadTime: [RequiredDate] - [ShippedDate] Opretter et felt med navnet Leveringstid og viser derefter forskellen mellem værdierne i felterne Leveringsdato og Forsendelsesdato.
TotalStock: [UnitsInStock]+[UnitsOnOrder] Opretter et felt med navnet Lager i alt og viser derefter summen af værdierne i felterne Enheder på lager og Enheder i bestilling.
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Opretter et felt med navnet FreightPercentage, og viser derefter procentdelen af fragtomkostninger i hver subtotal. Dette udtryk bruger funktionen Sum til at lægge værdierne i Freight feltet sammen og dividerer derefter disse totaler med summen af værdierne i feltet Subtotal . Hvis du vil bruge dette udtryk, skal du konvertere udvælgelsesforespørgslen til en totalforespørgsel. Du skal bruge rækken Total i designgitteret og angive cellen Total for dette felt til Expression. Du kan få mere at vide om at oprette en totalforespørgsel i Sumér data ved hjælp af en forespørgsel. Hvis du angiver egenskaben Format for feltet til Percent, skal du ikke medtage *100.

Hvis du vil have mere at vide om at bruge aggregeringsfunktioner og at beregne totalværdier i felter og kolonner, skal du se artiklerne Opsummer data ved hjælp af en forespørgsel, Optæl data ved hjælp af en forespørgsel, Vis kolonnetotaler i et regneark ved hjælp af rækken Total og Vis kolonnetotaler i et dataark.

Tilbage til toppen

Datohandlinger i forespørgsler

Næsten alle databaser lagrer og sporer datoer og klokkeslæt. Du arbejder med datoer og klokkeslæt i Access ved at angive felter for dato og klokkeslæt i tabellerne til datatypen Dato/klokkeslæt. Access kan udføre matematiske beregninger på datoer. Du kan f.eks. beregne, hvor mange dage der er gået siden fakturadatoen for at registrere tidsintervaller i debitorbogholderiet.

Udtryk Beskrivelse
LagTime: DateDiff("d", [OrderDate], [ShippedDate]) Opretter et felt med navnet Mellemliggende tid og anvender derefter funktionen DateDiff til at vise antallet af dage mellem ordredatoen og forsendelsesdatoen.
YearHired: DatePart("yyyy",[HireDate]) Opretter et felt med navnet Ansættelsesår og anvender derefter funktionen DatePart til at vise det år, hver enkelt medarbejder blev ansat.
MinusThirty: Date( )- 30 Opretter et felt med navnet MinusTredive og anvender derefter funktionen Dato til at vise datoen 30 dage forud for dags dato.

Tilbage til toppen

SQL-aggregeringsfunktioner i forespørgsler

Udtrykkene i følgende tabel bruger SQL-funktioner, der aggregerer eller opsummerer data. Du ser ofte funktioner som Sum, Countog Avg kaldes aggregeringsfunktioner.

Ud over aggregeringsfunktioner indeholder Access også domæneaggregeringsfunktioner, der giver dig mulighed for at lægge værdier sammen eller tælle selektivt. Du kan f.eks. nøjes med at tælle værdierne i et bestemt område eller slå en værdi op fra en anden tabel. Domæneaggregeringsfunktioner omfatter DSum, DTÆL og DAvg.

Hvis du vil beregne totaler, skal du ofte oprette en totalforespørgsel. Hvis du f.eks. vil opsummere efter gruppe, skal du bruge en totalforespørgsel. Hvis du vil aktivere en totalforespørgsel fra forespørgselsdesigngitteret, skal du vælge Totaler i menuen Vis .

Udtryk Beskrivelse
RowCount: Count(*) Opretter et felt med navnet Rækkeantal og anvender derefter funktionen Count til at tælle antallet af poster i forespørgslen, herunder poster med null-felter (tomme).
FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100 Opretter et felt med navnet FreightPercentageog beregner derefter procentdelen af fragtomkostninger i hver subtotal ved at dividere summen af værdierne i Freight feltet med summen af værdierne i feltet Subtotal . I dette Sum eksempel bruges funktionen. Du skal bruge dette udtryk sammen med en totalforespørgsel. Hvis du angiver egenskaben Format for feltet til Percent, skal du ikke medtage *100. Du kan få mere at vide om at oprette en totalforespørgsel i Sumér data ved hjælp af en forespørgsel.
AverageFreight: DAvg("[Freight]", "[Orders]") Opretter et felt med navnet Gennemsnitsfragt og anvender derefter funktionen DAvg til at beregne den gennemsnitlige fragt på alle ordrer kombineret i en totalforespørgsel.

Tilbage til toppen

Felter med manglende data

De udtryk, der er vist her, bruges på felter, der kan mangle oplysninger, f.eks. fordi de indeholder null-værdier (ukendte eller udefinerede). Du vil ofte støde på null-værdier, f.eks. en ukendt pris på et nyt produkt eller en værdi, som en kollega har glemt at føje til en ordre. Muligheden for at finde og behandle null-værdier kan være en afgørende del af databasehandlinger, og udtrykkene i følgende tabel viser nogle almindelige metoder til at håndtere null-værdier.

Udtryk Beskrivelse
CurrentCountryRegion: IIf(IsNull([CountryRegion]), " ", [CountryRegion]) Opretter et felt med navnet AktueltLandOmråde og anvender derefter funktionerne IIf og IsNull til at vise en tom streng i feltet, når feltet LandOmråde indeholder en null-værdi, og ellers vises indholdet af feltet LandOmråde.
LeadTime: IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) Opretter et felt med navnet Leveringstid og anvender derefter funktionerne IIf og IsNull til at vise meddelelsen "Kontrollér, om der mangler en dato", hvis værdien i feltet Leveringsdato eller feltet Forsendelsesdato er null, og ellers vises datoforskellen.
SixMonthSales: Nz([Qtr1Sales]) + Nz([Qtr2Sales]) Opretter et felt med navnet Halvårssalg og viser derefter summen af værdierne i felterne K1Salg og K2Salg ved først at anvende funktionen Nz til at konvertere eventuelle null-værdier til nul.

Tilbage til toppen

Beregnede felter med underforespørgsler

Du kan bruge en indlejret forespørgsel, en såkaldt underforespørgsel, til at oprette et beregnet felt. Udtrykket i følgende tabel er et eksempel på et beregnet felt, der er resultatet af en underforespørgsel.

Udtryk Beskrivelse
Cat: (SELECT [CategoryName] FROM [Categories] WHERE [Products].[CategoryID]=[Categories].[CategoryID]) Opretter et felt med navnet Kat og viser derefter Kategorinavn, hvis Kategori-id i den samme Kategori-tabel er det samme som Kategori-id i tabellen Produkter.

Tilbage til toppen

Sammenlign tekstværdier

Eksempeludtrykkene i denne tabel demonstrerer kriterier, der sammenligner hele eller dele af tekstværdier.

Felt Udtryk Beskrivelse
Modtagerby "London" Viser ordrer, der sendes til London.
Modtagerby "London" Or "Hedge End" Anvender operatoren Or til at vise ordrer, der er sendt til London eller Hedge End.
ModtagerLand In("Canada", "UK") Anvender operatoren In til at vise ordrer, der er sendt til Canada eller Storbritannien.
ModtagerLand Not "USA" Anvender operatoren Not til at vise ordrer, der er sendt til andre lande/områder end USA.
Produktnavn Not Like "C*" Anvender operatoren Not og * jokertegnet til at vise produkter, hvis navne ikke begynder med C.
Firmanavn >="N" Viser ordrer, der er sendt til firmaer, hvis navne starter med bogstaverne N til Zog med .
Produktkode Right([ProductCode], 2)="99" Anvender funktionen Right til at vise ordrer med ProductCode-værdier, der slutter med 99.
Kundenavn Like "S*" Viser ordrer, der er sendt til kunder, hvis navne starter med bogstavet S.

Tilbage til toppen

Sammenlign datokriterier

Udtrykkene i følgende tabel demonstrerer anvendelsen af datoer og relaterede funktioner i kriterieudtryk. Læs artiklen Formatér et felt med dato og klokkeslæt for at få flere oplysninger om at angive og anvende datoværdier.

Felt Udtryk Beskrivelse
Forsendelsesdato #2/2/2017# Viser ordrer sendt d. 2. februar 2017.
Forsendelsesdato Date() Viser ordrer, der er blevet afsendt i dag.
Leveringsdato Between Date( ) And DateAdd("m", 3, Date( )) Anvender operatoren Between...And og funktionerne DateAdd og Date til at vise ordrer, der er nødvendige mellem dags dato og tre måneder fra dags dato.
Bestillingsdato < Date( ) - 30 Anvender funktionen Date til at vise ordrer, der er mere end 30 dage gamle.
Bestillingsdato Year([OrderDate])=2017 Anvender funktionen Year til at vise ordrer med ordredatoer i 2017.
Bestillingsdato DatePart("q", [OrderDate])=4 Anvender funktionen DatePart til at vise ordrer for fjerde kvartal.
Bestillingsdato DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1 Anvender funktionerne DateSerial, Year og Month til at vise ordrer for den sidste dag i måneden.
Bestillingsdato Year([OrderDate])= Year(Now()) And Month([OrderDate])= Month(Now()) Anvender funktionerne Year og Month og operatoren And til at vise ordrer for indeværende år og måned.
Forsendelsesdato Between #1/5/2017# And #1/10/2017# Anvender operatoren Between...Andtil at vise ordrer, der er sendt tidligst den 5. januar 2017 og senest den 10. januar 2017.
Leveringsdato Between Date( ) And DateAdd("M", 3, Date( )) Anvender operatoren Between...And til at vise ordrer, der er påkrævet mellem dags dato og tre måneder fra dags dato.
Fødselsdato Month([BirthDate])=Month(Date()) Anvender funktionerne Month og Date til at vise medarbejdere, der har fødselsdag i denne måned.

Tilbage til toppen

Find manglende data

Udtrykkene i følgende tabel bruges sammen med felter, der kan mangle oplysninger, fordi de indeholder en null-værdi eller en tom streng. En null-værdi repræsenterer fravær af oplysninger. Den repræsenterer ikke værdien nul eller en nogen som helst anden værdi. Access understøtter manglende oplysninger, fordi det er af afgørende betydning for integriteten af en database. I den virkelige verden mangler der ofte oplysninger, også selvom det kun er midlertidigt (f.eks. en endnu ikke fastlagt pris på et nyt produkt). Derfor skal en database, der afspejler den virkelige verden, som f.eks. en virksomhed, kunne registrere, at der mangler oplysninger. Du kan bruge funktionen IsNull til at finde ud af, om et felt eller et kontrolelement indeholder en null-værdi, og du kan bruge funktionen Nz til at konvertere en null-værdi til tallet nul.

Felt Udtryk Beskrivelse
Modtagerområde Is Null Viser ordrer til kunder, hvis Modtagerområde-felt er null (mangler).
Modtagerområde Is Not Null Viser ordrer til kunder, hvis Modtagerområde-felt indeholder en værdi.
Fax "" Viser ordrer for kunder, der ikke har en faxmaskine, hvilket er angivet med en tom streng i feltet Fax i stedet for en null-værdi (manglende værdi).

Tilbage til toppen

Sammenlign postmønstre med Like

Operatoren Like giver stor fleksibilitet, når du forsøger at matche rækker, der følger et mønster, fordi du kan bruge Like med jokertegn og definere mønstre, som Access skal matche. Jokertegnet (stjerne) svarer f.eks * . til en sekvens af tegn af enhver type og gør det nemt at finde alle navne, der begynder med et bogstav. Du kan f.eks. bruge udtrykket Like "S*" til at finde alle navne, der begynder med bogstavet S. Du kan få mere at vide i artiklen Synes godt om-operator.

Felt Udtryk Beskrivelse
Kundenavn Like "S*" Finder alle poster i feltet Kundenavn, der starter med bogstavet S.
Kundenavn Like "*Imports" Finder alle poster i feltet Kundenavn, der slutter med ordet "Import".
Kundenavn Like "[A-D]*" Finder alle poster i feltet Kundenavn, der starter med bogstaverne A, B, C eller D.
Kundenavn Like "*ar*" Finder alle poster i feltet Kundenavn, der indeholder bogstavsekvensen "ar".
Kundenavn Like "Maison Dewe?" Finder alle poster i feltet Kundenavn, der indeholder "Maison" i den første del af værdien og en streng på fem bogstaver, hvori de fire første bogstaver er "Dewe", og det sidste bogstav er ukendt.
Kundenavn Not Like "A*" Finder alle poster i feltet Kundenavn, der ikke starter med bogstavet A.

Tilbage til toppen

Sammenlign rækker med SQL-aggregeringer

Når du vil beregne summen, antallet eller gennemsnittet af værdier selektivt, skal du bruge en funktionstype, der kaldes en SQL-funktion eller en domæneaggregeringsfunktion. Du kan f.eks. nøjes med at tælle de værdier, der ligger inden for et bestemt område, eller dem, som evalueres til Ja. Du kan også få brug for at slå en værdi op fra en anden tabel for at få den vist. Eksempeludtrykkene i følgende tabel anvender domæneaggregeringsfunktionerne til at udføre en beregning på et sæt af værdier og derefter bruge resultatet som forespørgselskriterium.

Felt Udtryk Beskrivelse
Fragt > (DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders")) Anvender funktionen DSTDAFV og DAvg til at vise alle de ordrer, hvor fragtomkostningerne er steget til over gennemsnittet plus standardafvigelsen for fragtomkostninger.
Antal > DAvg("[Quantity]", "[Order Details]") Anvender funktionen DAvg til at vise produkter bestilt i antal over det gennemsnitlige ordreantal.

Tilbage til toppen

Sammenlign felter med underforespørgsler

Du kan bruge en underforespørgsel, der også kaldes en indlejret forespørgsel, til at beregne en værdi, der skal bruges som kriterium. Eksempeludtrykkene i følgende tabel sammenligner rækkerne baseret på de resultater, der returneres af en underforespørgsel.

Felt Udtryk Visninger
Enhedspris (SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup") Produkter, hvis pris er lig med prisen på Sirup.
Enhedspris >(SELECT AVG([UnitPrice]) FROM [Products]) Produkter, der har en enhedspris over gennemsnittet.
Løn > ALL (SELECT [Salary] FROM [Employees] WHERE ([Title] LIKE "*Manager*") OR ([Title] LIKE "*Vice President*")) Løn for hver salgsmedarbejder, hvis løn er højere end lønnen for alle medarbejdere med "Chef" eller "Underdirektør" i deres stillingsbetegnelser.
Ordretotal: [Enhedspris] * [Antal] > (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details]) Ordrer med totaler, der er højere end den gennemsnitlige ordreværdi.

Tilbage til toppen

Opdateringsforespørgsler

Brug en opdateringsforespørgsel til at ændre dataene i et eller flere eksisterende felter i en database. Du kan f.eks. erstatte værdier eller slette dem helt. Denne tabel viser nogle måder at bruge udtryk i opdateringsforespørgsler på. Brug disse udtryk i rækken Update To i forespørgselsgitteret for det felt, du vil opdatere.

Læs artiklen Opret og kør en opdateringsforespørgsel for at få flere oplysninger om at oprette opdateringsforespørgsler.

Felt Udtryk Resultat
Titel "Salesperson" Ændrer en tekstværdi til Sælger.
Projektets startdato #8/10/17# Ændrer en datoværdi til 10-08-17.
Pensioneret Yes Ændrer en Nej-værdi i et Ja/Nej-felt til Ja.
Varenummer "PN" & [PartNumber] Føjer VN til begyndelsen af det angivne varenummer.
Total for linjeelement [UnitPrice] * [Quantity] Beregner produktet af Enhedspris og Antal.
Fragt [Freight] * 1.5 Øger fragtomkostningerne med 50 procent.
Salg DSum("[Quantity] * [UnitPrice]", "Order Details", "[ProductID]=" & [ProductID]) Hvis værdierne for Produkt-id i den aktuelle tabel svarer til værdierne for Produkt-id i tabellen Ordredetaljer, opdateres salgstotalerne på basis af produktet af Antal og Enhedspris.
Forsendelsespostnummer Right([ShipPostalCode], 5) Afkorter tegnene længst til venstre, så de fem tegn yderst til højre står tilbage.
Enhedspris Nz([UnitPrice]) Ændrer en null-værdi (ikke defineret eller ukendt) til et nul (0) i feltet Enhedspris.

Tilbage til toppen

SQL-sætninger

Structured Query Language (SQL) er det forespørgselssprog, access bruger. Hver forespørgsel, du opretter i visningen Forespørgselsdesign, kan også udtrykkes ved hjælp af SQL. Hvis du vil se SQL-sætningen for en forespørgsel, skal du vælge SQL-visning i menuen Vis . I følgende tabel vises eksempel-SQL-sætninger, der bruger et udtryk.

SQL-sætning, der anvender et udtryk Resultat
SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio"; Viser værdierne i felterne Fornavn og Efternavn for medarbejdere, hvis efternavn er Danseglio.
SELECT [ProductID],[ProductName] FROM [Products] WHERE [CategoryID]=Forms![New Products]![CategoryID]; Viser værdierne i felterne Produkt-id og Produktnavn i tabellen Produkter for poster, hvor værdien Kategori-id svarer til værdien Kategori-id, der er angivet i en åben Nye produkter-formular.
SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000; Beregner den gennemsnitlige udvidede pris for ordrer, hvor værdien i feltet UdvidetPris er mere end 1000, og vises i et felt med navnet Gennemsnitlig udvidet pris.
SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10; Viser det samlede antal produkter for kategorier med mere end 10 produkter i et felt med navnet Antal af Produkt-id.

Tilbage til toppen

Tabeludtryk

De to mest almindelige måder, du kan bruge udtryk i tabeller på, er ved at tildele en standardværdi og oprette en valideringsregel.

Feltets standardværdier

Når du designer en database, kan du tildele en standardværdi til et felt eller et kontrolelement. Access leverer derefter denne værdi, når der oprettes en ny post, der indeholder feltet, eller når der oprettes et objekt, der indeholder kontrolelementet. Udtrykkene i følgende tabel viser eksempelstandardværdier for et felt eller kontrolelement. Hvis et kontrolelement er bundet til et felt i en tabel, og feltet har en standardværdi, har kontrolelementets standardværdi forrang.

Felt Udtryk Standardfeltværdi
Antal 1 1
Område "MT" MT
Område "New York, N.Y." New York, N.Y. (Bemærk, at du skal sætte værdien i anførselstegn, hvis den indeholder tegnsætning).
Fax "" En tom streng til at indikere, at dette felt som standard skal være tomt i stedet for at indeholde en null-værdi
Ordredato Date( ) Dags dato
Forfaldsdato Date() + 60 Datoen 60 dage fra dags dato

Tilbage til toppen

Feltets valideringsregler

Du kan oprette en valideringsregel for et felt eller et kontrolelement ved hjælp af et udtryk. Access gennemtvinger så reglen, når der angives data i feltet eller kontrolelementet. Hvis du vil oprette en valideringsregel, skal du ændre ValidationRule egenskaben for feltet eller kontrolelementet. Du bør også overveje at angive egenskaben ValidationText , som indeholder den tekst, der vises i Access, når valideringsreglen overtrædes. Hvis du ikke angiver egenskaben ValidationText , viser Access en standardfejlmeddelelse.

Eksemplerne i følgende tabel viser valideringsregeludtryk for ValidationRule egenskaben og den tilknyttede tekst for ValidationText egenskaben.

Egenskaben Valideringsregel Egenskaben Valideringsmeddelelse
<> 0 Angiv en værdi, som ikke er nul.
0 Or > 100 Værdien skal være enten 0 eller mere end 100.
Like "K???" Værdien skal være fire tegn og starte med bogstavet K.
< #1/1/2017# Angiv en dato før 1/1/2017.
>= #1/1/2017# And < #1/1/2008# Datoen skal være i 2017.

Læs artiklen Opret en valideringsregel for at validere data i et felt for at få flere oplysninger om at validere data.

Tilbage til toppen

Makroudtryk

I nogle tilfælde kan du have brug for at udføre en handling eller en række handlinger i en makro, hvis en bestemt betingelse er sand. Lad os f.eks. antage, at du ønsker, at en handling kun skal køre, når værdien af tekstfeltet Tæller er 10. Du kan bruge et udtryk til at definere betingelsen i en Hvis-blok:

[Counter]=10

Ligesom med egenskaben ValidationRule er udtrykket i en Hvis-blok et betinget udtryk. Det skal løses til enten True eller False. Handlingen udføres kun, hvis betingelsen er sand.

Brug dette udtryk til at udføre handlingen Hvis
[City]="Paris" Paris er værdien i feltet By i den formular, hvorfra makroen blev kørt.
DCount("[OrderID]", "Orders") > 35 Der er mere end 35 indtastninger i feltet Ordre-id i tabellen Ordrer.
DCount("*", "[Order Details]", "[OrderID]=" & Forms![Orders]![OrderID]) > 3 Der er mere end tre indtastninger i tabellen Ordredetaljer, hvor feltet Ordre-id i tabellen stemmer overens med feltet Ordre-id i formularen Ordrer.
[ShippedDate] Between #2-Feb-2017# And #2-Mar-2017# Værdien af feltet Forsendelsesdato i den formular, hvorfra makroen køres, er tidligst 02-02-17 og senest 02-03-17.
Forms![Products]![UnitsInStock] < 5 Værdien af feltet Enheder på lager i formularen Produkter er mindre end 5.
IsNull([FirstName]) Værdien Fornavn i formularen, hvorfra makroen køres, er null (har ingen værdi). Dette udtryk er lig med [Fornavn] Is Null.
[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100 Værdien i feltet LandOmråde i formularen, hvorfra makroen køres, er GB, og værdien i feltet Total ordrer i formularen Salgstotaler er større end 100.
[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5 Værdien i feltet LandOmråde i formularen, hvorfra makroen køres, er enten Frankrig, Italien eller Spanien, og postnummeret indeholder ikke 5 tegn.
MsgBox("Confirm changes?",1)=1 Du skal klikke på OK i en dialogboks, der vises af funktionen MsgBox. Hvis du klikker på Annuller i dialogboksen, ignorerer Access handlingen.

Tilbage til toppen

Se også