Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

I denne artikel

Formularer og rapporter

Tabellerne i denne sektion indeholder eksempler på udtryk, der beregner en værdi i et kontrolelement, der findes i en formular eller rapport. Hvis du vil oprette et beregnet kontrolelement, skal du angive et udtryk i egenskaben Kontrolelementkilde for kontrolelementet i stedet for i en tabel eller 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-tegnet) og + (plustegnet) til at kombinere tekststrenge, indbyggede funktioner til at manipulere en tekststreng eller på anden vis operere på tekst for at 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 mellemrum (omgivet af anførselstegn) og feltet Efternavn.

=Left([ProductName], 1)

Anvender funktionen Left til at vise det første tegn i værdien af et felt eller kontrolelement med navnet Produktnavn.

=Right([AssetCode], 2)

Anvender funktionen Right til at vise de seneste 2 tegn i værdien af et felt eller kontrolelement med navnet Aktivnummer.

=Trim([Address])

Anvender funktionen Trim til at vise værdien af kontrolelementet Adresse, så du kan fjerne eventuelle foranstillede eller efterstillede mellemrum.

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

Anvender funktionen IIf til at vise værdierne for kontrolelementerne By og Postnummer, hvis værdien i kontrolelementet Område er null. Ellers vises værdierne for kontrolelementerne By, Område og Postnummer adskilt med mellemrum.

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

Anvender operatoren + og null-overførsel til at vise værdierne for kontrolelementerne By og Postnummer, hvis værdien i kontrolelementet Område er null. Ellers vises værdierne for felterne eller kontrolelementerne By, Område og Postnummer adskilt med mellemrum.

Null-overførsel betyder, at hvis en komponent i et udtryk er null, er hele udtrykket også null. Operatoren + understøtter null-overførsel, mens operatoren & ikke gør det.

Toppen af siden

Sidehoveder og sidefødder

Du kan bruge egenskaberne Side og Sider til at vise eller udskrive sidetal i formularer eller rapporter. Egenskaberne Side og Sider er kun tilgængelige under udskrivning eller i Vis udskrift, så de vises ikke på formularens eller rapportens egenskabsark. Typisk bruges disse egenskaber ved at placere et tekstfelt i sidehovedet eller sidefoden i formularen eller rapporten og derefter bruge et udtryk, sådan som det 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

Toppen af siden

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 værdi for dato og klokkeslæt, som 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 (+, -, * og /) i et udtryk, og værdien af et af kontrolelementerne i udtrykket er null, er resultatet af hele udtrykket null – dette kaldes null-overførsel. Hvis en af posterne i et af de kontrolelementer, du bruger i udtrykket, muligvis har en null-værdi, kan du undgå null-overførsel ved at konvertere null-værdien til nul ved hjælp af funktionen Nz – f.eks. =Nz([Subtotal])+Nz([Freight]).

Toppen af siden

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.

Toppen af siden

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, som fastslås ved at dividere værdien i kontrolelementet Salg med summen af alle værdierne i kontrolelementet Salg.

Hvis du indstiller egenskaben Format for kontrolelementet til Procent, skal du ikke inkludere *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.

Toppen af siden

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.

Toppen af siden

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 i året for den aktuelle dato, hvor ww repræsenterer ugerne 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.

Toppen af siden

Betingelser for kun to værdier

Eksempeludtrykkene i følgende tabel anvender IIf-funktionen til at returnere en af to mulige værdier. IIf-funktionen benytter tre argumenter: Det første argument er et udtryk, der returnerer værdien True eller False. 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")

Anvender funktionen IIf (Immediate If) til at vise meddelelsen "Ordre bekræftet", hvis værdien af kontrolelementet Bekræftet er Yes, og 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.

Toppen af siden

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 startdato og slutdato og begrænse resultaterne af forespørgslen til ordrer, der blev sendt mellem de pågældende datoer.

Følgende indeholder eksempler på udtryk, der anvendes i forespørgsler.

Teksthandlinger

Udtrykkene i den følgende tabel anvender operatorerne & og + til at kombinere tekststrenge, indbyggede funktioner til at manipulere tekststrenge eller på anden vis arbejde med 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.

Toppen af siden

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å 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 værdi for dato og klokkeslæt, som 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 kaldet Fragtprocent og viser derefter procentdelen af fragtomkostninger i hver subtotal. Dette udtryk anvender funktionen Sum til at lægge værdierne i feltet Fragt sammen og derefter dividere disse totaler med summen af værdierne i feltet Subtotal.

For at bruge dette udtryk skal du konvertere udvælgelsesforespørgslen til en totalforespørgsel, da du skal bruge rækken Total i designgitteret, og du skal angive cellen Total for dette felt til Udtryk.

Du kan få mere at vide om at oprette en totalforespørgsel i artiklen Opsummere data ved hjælp af en forespørgsel.

Hvis du indstiller egenskaben Format for feltet til Procent, så undlad at 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.

Toppen af siden

Datohandlinger

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.

Toppen af siden

SQL-aggregeringsfunktioner

Udtrykkene i følgende tabel anvender SQL-funktioner (Structured Query Language), der sammenlægger eller opsummerer data. Man ser ofte, at disse funktioner (f.eks. Sum, Count og Avg) kaldes aggregeringsfunktioner.

Foruden aggregeringsfunktioner indeholder Access også "domæne"-aggregeringsfunktioner, som du kan bruge til at sammenlægge eller tælle værdier 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. Sættet af domæneaggregeringsfunktioner omfatter funktionen DSum, funktionen DCount og funktionen DAvg.

Hvis du vil beregne totaler, er du ofte nødt til at oprette en totalforespørgsel. Hvis f.eks. vil opsummere efter gruppe, skal du bruge en totalforespørgsel. Hvis du vil aktivere en totalforespørgsel, skal du klikke på Totaler i menuen Vis i forespørgselsdesigngitteret.

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 Fragtprocent og beregner derefter procentdelen af fragtomkostninger i hver subtotal ved at dividere summen af værdierne i feltet Fragt med summen af værdierne i feltet Subtotal. I dette eksempel bruges funktionen Sum.

Du skal bruge dette udtryk sammen med en totalforespørgsel. Hvis du indstiller egenskaben Format for feltet til Procent, så undlad at inkludere *100.

Du kan få mere at vide om at oprette en Totalforespørgsel i artiklen Opsummer 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.

Toppen af siden

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.

Toppen af siden

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.

Toppen af siden

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 blevet sendt til virksomheder, hvis navne starter med bogstaverne N til Z.

Produktkode

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

Anvender funktionen Right til at vise ordrer med værdier for Produktkode, der slutter med 99.

Kundenavn

Like "S*"

Viser ordrer, der er blevet sendt til kunder, hvis navne starter med bogstavet S.

Toppen af siden

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 skal leveres 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...And til at vise ordrer, der er leveret tidligst d. 5. januar 2017 og senest d. 10. januar 2017.

Leveringsdato

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

Anvender operatoren Between...And til at vise ordrer, der skal leveres 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.

Toppen af siden

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

Toppen af siden

Sammenlign postmønstre med Like

Operatoren Like giver stor fleksibilitet, når du skal sammenligne rækker, der følger et mønster, fordi du kan bruge Like sammen med jokertegn og definere mønstre, som Access kan finde. Jokertegnet * (stjerne) sammenligner f.eks. en sekvens af tegn af en hvilken som helst type, og det 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 starter med bogstavet S. Læs artiklen Operatoren Like for at få flere oplysninger.

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.

Toppen af siden

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.

Toppen af siden

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.

Toppen af siden

Opdateringsforespørgsler

Du kan bruge en opdateringsforespørgsel til at redigere dataene i ét eller flere eksisterende felter i en database. Du kan f.eks. erstatte værdier eller slette dem helt. Denne tabel viser nogle metoder til at bruge udtryk i opdateringsforespørgsler. Du kan bruge disse udtryk i rækken Opdater til i forespørgselsdesigngitteret 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.

Toppen af siden

SQL-sætninger

SQL (Structured Query Language) er det sprog, der bruges af Access. Alle de forespørgsler, du opretter i forespørgslens designvisning, kan også udtrykkes ved hjælp af SQL. Hvis du vil se SQL-sætningen for en forespørgsel, skal du klikke på SQL-visning i menuen Vis. I følgende tabel vises der eksempler på SQL-sætninger, der anvender 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.

Toppen af siden

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 standardværdien, når der oprettes en ny post, der indeholder feltet, eller når et objekt, som indeholder kontrolelementet, oprettes. Udtrykket i følgende tabel repræsenterer eksempelstandardværdierne for et felt eller et kontrolelement. Hvis kontrolelementet 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

Toppen af siden

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 redigere egenskaben Valideringsregel for feltet eller kontrolelementet. Du bør også overveje at indstille egenskaben Valideringsmeddelelse, der indeholder den tekst, som vises i Access, når valideringsreglen overtrædes. Hvis du ikke indstiller egenskaben Valideringsmeddelelse, vises en standardfejlmeddelelse i Access.

Eksemplerne i følgende tabel demonstrerer valideringsreglens udtryk for egenskaben Valideringsregel og den tilknyttede tekst for egenskaben Valideringsmeddelelse.

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.

Toppen af siden

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 Valideringsregel er udtrykket i en Hvis-blok et betinget udtryk. Det skal resultere i værdien 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.

Toppen af siden

Se også

Brug af Udtryksgenerator

Introduktion til udtryk

Få mere at vide om at opbygge et udtryk

Vejledning til udtrykkenes syntaks

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.