Eksempler på udtryk

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 anvende udtryk i Access til at beregne værdier, validere data og angive en standardværdi.

I denne artikel

Formularer og rapporter

Tabellerne i dette afsnit indeholder eksempler på udtryk, der beregner en værdi i et kontrolelement, der findes i en formular eller en 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å anvende udtryk i en formular eller rapport, når du fremhæver data med betinget formatering.

Teksthandlinger

Udtrykkene i følgende tabel anvender & (og-tegnet) og + (plus) til at kombinere tekststrenge, indbyggede funktioner til at manipulere en tekststreng eller på anden vis operere på tekst til 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 anvendes &-operatoren til at kombinere feltet Fornavn, et mellemrum (omgivet af anførselstegn) og feltet Efternavn.

=Left([ProductName], 1)

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

=Right([AssetCode], 2)

Anvender funktionen Højre til at vise de seneste 2 tegn i værdien i 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, &-operatoren gør ikke.

Tilbage til toppen

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.

Du kan få mere at vide om brug af sidehoveder og sidefødder i formularer og rapporter i artiklen Indsætte sidetal i en formular eller rapport.

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

Regnehandlinger

Du kan anvende udtryk til at addere, subtrahere, multiplicere og dividere værdierne i to eller flere felter eller kontrolelementer. Du kan også anvende udtryk til at udføre regnehandlinger på datoer. Lad os antage, at du har et dato/klokkeslæt-tabelfelt med navnet Leveringsdato. I feltet eller i et kontrolelement, der er bundet til feltet, returnerer =[RequiredDate] - 2-udtrykket en værdi for dato/klokkeslæt, 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 anvender 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 hvilken som helst af posterne i et af de kontrolelementer, der anvendes i udtrykket, kan have 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]).

Tilbage til toppen

Værdier i andre kontrolelementer

Du kan få brug for en værdi, der findes et andet sted, 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 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 ved navn Underrapporten Oversigt 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å beregne antallet af elementer i et eller flere felter eller beregne en gennemsnitlig værdi.

Udtrykkene i følgende tabel viser nogle af de måder, funktioner, som f.eks. Gennemsnit, Antal og Sum, kan anvendes på.

Udtryk

Beskrivelse

=Avg([Freight])

Anvender funktionen GNS til at vise gennemsnittet af værdierne i et tabelfelt eller -kontrolelement ved navn "Fragt".

=Count([OrderID])

Anvender funktionen Tæl 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 af kontrolelementerne Pris og Antal.

=[Sales]/Sum([Sales])*100

Viser procentdelen af salg, som bestemmes ved at dividere værdien af kontrolelementet Salg med summen af alle værdierne i kontrolelementet Salg.

Hvis du indstiller egenskaben Format for kontrolelementet til Procent, skal du ikke medtage *100 i udtrykket.

Hvis du vil have mere at vide om brugen af aggregeringsfunktioner og beregning af totalværdier i felter og kolonner, skal du se artiklerne Opsummere data ved hjælp af en forespørgsel, Optælle data ved hjælp af en forespørgsel, Tælle rækkerne i et dataark og Vise kolonnetotaler i et dataark.

Tilbage til toppen

SQL-aggregatfunktioner

Du kan anvende en type funktion, der kaldes en SQL- eller en domæneaggregatfunktion, når du skal sammenlægge eller tælle værdier selektivt. 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 DTæl til at returnere antallet af Ja-værdier i feltet Udgået (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 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.

Tilbage til toppen

Betingelser for kun to værdier

Eksempeludtrykkene i følgende tabel anvender funktionen IIf til at returnere en af to mulige værdier. Du kan give funktionen IIf tre argumenter: Det første argument er et udtryk, der skal returnere en True- eller False-værdi. Det andet argument er værdien, der skal returneres, hvis udtrykket er sandt, og det tredje argument er værdien, 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. I modsat fald 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. 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. I modsat fald vises intervallet mellem datoværdierne i kontrolelementerne Leveringsdato og Forsendelsesdato.

Tilbage til toppen

Forespørgsler og filtre

Dette afsnit 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 anvende kriterier i en forespørgsel til at begrænse de poster, du arbejder med. Eksempelvis kan du anvende Between-operatoren 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 følgende tabel anvender operatorerne & og + til at kombinere tekststrenge, indbyggede funktioner til brug på en tekststreng eller på anden vis behandle tekst til at oprette et beregnet felt.

Udtryk

Beskrivelse

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

Opretter et felt med navnet FuldeNavn, 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 bruger derefter funktionen Left til at vise det første tegn i værdien i feltet Produktnavn, i feltet Produktinitial.

TypeCode: Right([AssetCode], 2)

Opretter et felt med navnet Typenummer og bruger 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 bruger derefter funktionen Mid til at vise de tre tegn, hvor det første er det andet tegn i 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

Regnehandlinger

Du kan anvende 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 Dato/klokkeslæt-felt kaldet Leveringsdato. Udtrykket =[RequiredDate] - 2 returnerer en værdi for Dato/klokkeslæt 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 med navnet 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 brugen af aggregeringsfunktioner og beregning af totalværdier i felter og kolonner, skal du se artiklerne Opsummere data ved hjælp af en forespørgsel, Optælle data ved hjælp af en forespørgsel, Tælle rækkerne i et dataark og Vise kolonnetotaler i et dataark.

Tilbage til toppen

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 LagTime og bruger 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-aggregatfunktioner

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 bruger 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 anvende dette udtryk med en Totalforespørgsel. Hvis du indstiller egenskaben Format for feltet til Procent, så undlad at medtage *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 bruger 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 den følgende tabel viser nogle almindelige metoder til at håndtere null-værdier.

Udtryk

Beskrivelse

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

Opretter et felt kaldet AktueltLandOmråde og bruger derefter funktionerne IIf og IsNull til at vise en tom streng i feltet, når feltet LandOmråde indeholder en null-værdi. I modsat fald 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 bruger 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. I modsat fald 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 den 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 fra den samme Kategori-tabel er det samme som Kategori-id fra 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 blevet sendt til virksomheder, hvis navne starter med bogstaverne N til Z.

Produktkode

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

Anvender funktionen Højre 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.

Tilbage til toppen

Sammenlign datokriterier

Udtrykkene i den følgende tabel demonstrerer anvendelsen af datoer og relaterede funktioner i kriterieudtryk. Få mere at vide om at angive og anvende datoværdier i artiklen Angiv en værdi for dato eller klokkeslæt.

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 Dato til at vise ordrer, der skal leveres mellem dags dato og tre måneder fra dags dato.

Ordredato

< Date( ) - 30

Anvender funktionen Dato til at vise ordre, der er mere end 30 dage gamle.

Ordredato

Year([OrderDate])=2017

Anvender funktionen År til at vise ordrer med ordredatoer i 2017.

Ordredato

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

Anvender funktionen DatePart til at vise ordrer for fjerde kvartal.

Ordredato

DateSerial(Year ([OrderDate]), Month([OrderDate])+1, 1)-1

Anvender funktionerne DateSerial, År og Måned til at vise ordrer for den sidste dag i måneden.

Ordredato

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

Anvender funktionerne År og Måned og operatoren Og 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 Måned og Dato til at vise medarbejdere, der har fødselsdag i denne måned.

Tilbage til toppen

Find manglende data

Udtrykkene i den følgende tabel bruges sammen med felter, der kan mangle oplysninger, fordi de indeholder en null-værdi eller en streng med en længde på nul 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, 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 streng med en længde på nul i feltet Fax i stedet for en null-værdi (manglende værdi).

Tilbage til toppen

Sammenlign postmønstre med Ligesom

Operatoren Like giver stor fleksibilitet, når du skal sammenligne rækker, der følger et mønster, fordi du kan anvende Like med jokertegn og definere mønstre, som Access kan sammenligne. Eksempelvis sammenligner jokertegnet * (stjerne) en sekvens af tegn af en hvilken som helst slags og gør det nemt at finde alle navne, der starter med et bestemt bogstav. Eksempelvis anvender du udtrykket Like "S*" til at finde alle navne, der starter med bogstavet S. Få mere at vide i artiklen Operatoren Ligesom.

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

Svarer til rækker med SQL-aggregater

Du kan anvende en SQL- eller domæneaggregatfunktion, når du skal addere, tælle eller tage gennemsnittet af værdier, som du vælger. Du kan f.eks. nøjes med at tælle de værdier, der ligger i et bestemt område, eller som evalueres til Ja. Andre gange skal du måske slå en værdi op i en anden tabel, så du kan få den vist. Eksempeludtrykkene i følgende tabel anvender domæneaggregatfunktionerne til at udføre en beregning på et sæt af værdier og derefter anvende resultatet som forespørgselskriterier.

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

Felter med underforespørgsler

Du kan bruge en underforespørgsel, også kaldet en indlejret forespørgsel, til at beregne en værdi, der skal bruges som kriterium. Eksempeludtrykkene i den følgende tabel matcher 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

Du kan bruge en opdateringsforespørgsel til at redigere dataene i en 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.

Du kan få mere at vide om at oprette opdateringsforespørgsler i artiklen Opret og kør en opdateringsforespørgsel.

Felt

Udtryk

Resultat

Titel

"Salesperson"

Ændrer en tekstværdi til Sælger.

Projektets startdato

#8/10/17#

Ændrer en datoværdi til 10-aug-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.

Postnummer for forsendelse

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, eller SQL, 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 den 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 ønske at 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. Udtrykkene i følgende tabel repræsenterer eksempelstandardværdierne for et felt eller et 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 streng med en længde på nul 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

Feltvalideringsregler

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 skal 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 den 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.

Du kan få mere at vide om datavalidering i artiklen Opret en valideringsregel for at validere data i et felt.

Toppen af siden

Makroudtryk

I nogle tilfælde kan du ønske at udføre en handling eller flere handlinger i en makro, hvis en bestemt betingelse er sand. Lad os antage, at du vil have en handling til kun at køre, når værdien i tekstfeltet Tæller er 10. Du kan bruge et udtryk til at definere betingelsen i kolonnen Betingelse i makroen:

[Counter]=10

Som med egenskaben Valideringsregel er kolonneudtrykket Betingelse et betinget udtryk. Det skal resultere i enten en True- eller False-værdi. Handlingen udføres kun, hvis betingelsen er sand.

Tip    For at tvinge Access til at ignorere en handling midlertidigt skal du skrive False som en betingelse. Dette kan være nyttigt, når du forsøger at finde problemer i en makro.

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 2-feb-2017 og senest 2-mar-2017.

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å

Brug af Udtryksgeneratoren

Introduktion til udtryk

Generér et udtryk

Vejledning til udtrykkenes syntaks

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×