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

Denne artikkelen inneholder mange eksempler på uttrykk i Access. Et uttrykk er en kombinasjon av matematiske eller logiske operatorer, konstanter, funksjoner, tabellfelt, kontroller og egenskaper som evalueres til en enkelt verdi. Du kan bruke uttrykk i Access til å beregne verdier, validere data og angi en standardverdi.

I denne artikkelen

Skjemaer og rapporter

Tabellene i denne delen inneholder eksempler på uttrykk som beregner en verdi i en kontroll som er plassert i et skjema eller en rapport. Hvis du vil opprette en beregnet kontroll, angi et uttrykk i egenskapen ControlSource for kontrollen, i stedet for i et tabellfelt eller en spørring.

Merk    Du kan også bruke uttrykk i et skjema eller en rapport når du uthever data med betinget formatering.

Tekstoperasjoner

Uttrykkene i den følgende tabellen bruker operatorene & (&-tegn) og + (plusstegn) til å kombinere tekststrenger, innebygde funksjoner for å manipulere en tekststreng, eller på annen måte endre en tekst for å opprette en beregnet kontroll.

Uttrykk

Resultat

="N/A"

Viser I/T.

=[FirstName] & " " & [LastName]

Viser verdiene som befinner seg i tabellfeltene Fornavn og Etternavn. I dette eksemplet brukes &-operatoren til å kombinere Fornavn-feltet, et mellomrom (omsluttet av anførselstegn), og Etternavn-feltet.

=Left([ProductName], 1)

Bruker Venstre-funksjonen for å vise det første tegnet i verdien til et felt eller en kontroll kalt Produktnavn.

=Right([AssetCode], 2)

Bruker Høyre-funksjonen for å vise de to siste tegnene i verdien til et felt eller en kontroll kalt AssetCode.

=Trim([Address])

Bruker Trim-funksjonen for å vise verdien til Adresse-kontrollen og fjerne eventuelle innledende eller etterfølgende mellomrom.

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

Bruker IIf-funksjonen for å vise verdiene for Postnummer- og Poststedkontrollene, hvis verdien i Område-kontrollen er null. Ellers vises verdiene for Postnummer- og Poststedkontrollene atskilt med mellomrom.

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

Bruker + operatoren og null-overføring for å vise verdiene for City- og PostalCode-kontrollene, hvis verdien i Region-feltet eller -kontrollen er null. Ellers vises verdiene for City- , Region- og PostalCode-felt eller -kontroller atskilt med mellomrom.

Null-overføring betyr at hvis en komponent i et uttrykk er null, er også hele uttrykket null. +-operatoren støtter null-overføring, &-operatoren gjør det ikke.

Til toppen av siden

Topptekster og bunntekster

Du bruker Side- og Sider-egenskapene for å vise eller skrive ut sidetall i skjemaer eller rapporter. Side- og Sider-egenskapene er tilgjengelig bare i utskrift eller forhåndsvisning, slik at de ikke vises på egenskapsarket for skjemaet eller rapporten. Vanligvis kan du bruke disse egenskapene ved å plassere en tekstboks i topptekst- eller bunntekst-delen i skjemaet eller rapporten, og deretter bruke et uttrykk, for eksempel de som er vist i tabellen nedenfor.

Hvis du vil ha mer informasjon om hvordan du bruker topptekster og bunntekster i skjemaer og rapporter, se artikkelen Sette inn sidetall i et skjema eller rapport.

Uttrykk

Resultat

=[Page]

1

="Page " & [Page]

Side 1

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

Side 1 av 3

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

1 av 3 sider

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

1/3 sider

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

Storbritannia – 1

=Format([Page], "000")

001

="Printed on: " & Date()

Skrevet ut: 31.12.2017

Til toppen av siden

Aritmetiske operasjoner

Du kan bruke uttrykk til å addere, subtrahere, multiplisere og dividere verdiene i to eller flere felt eller kontroller. Du kan også bruke uttrykk til å utføre aritmetiske operasjoner med datoer. Du kan for eksempel anta at du har et tabellfelt for dato og klokkeslett du kaller Leveringsdato. I feltet, eller i en kontroll som er bundet til feltet, vil uttrykket =[RequiredDate] - 2 returnere en dato/klokkeslett-verdi lik to dager før gjeldende verdier i feltet Leveringsdato.

Uttrykk

Resultat

=[Subtotal]+[Freight]

Summen av verdiene i Delsum- og Fraktkostnad-feltene eller -kontrollene.

=[RequiredDate]-[ShippedDate]

Intervallet mellom datoverdiene i feltene eller kontrollene Leveringsdato og Sendt dato.

=[Price]*1.06

Produktet av verdien til feltet eller kontrollen Pris og 1,06 (legger til 6 prosent på verdien Pris).

=[Quantity]*[Price]

Produktet av verdiene i Antall- og Pris-feltene eller -kontrollene.

=[EmployeeTotal]/[CountryRegionTotal]

Kvotienten av verdiene i Ansatte totalt- og Land/område totalt-feltene eller -kontrollene.

Merk    Når du bruker en aritmetisk operator (+, -, * og /) i et uttrykk, og verdien av én av kontrollene i uttrykket er null, blir resultatet av hele uttrykket null. Dette kalles Null-overføring. Hvis noen poster i en av kontrollene du bruker i uttrykket har en nullverdi, kan du unngå Null-overføring ved å konvertere nullverdien til null ved hjelp av Nz -funksjonen, for eksempel =Nz([Subtotal])+Nz([Freight]).

Til toppen av siden

Verdier i andre kontroller

Noen ganger trenger du en verdi som finnes et annet sted, for eksempel i et felt eller en kontroll i et annet skjema eller en rapport. Du kan bruke et uttrykk til å returnere verdien fra et annet felt eller en kontroll.

Tabellen nedenfor viser eksempler på uttrykk som du kan bruke i beregnede kontroller på skjemaer.

Uttrykk

Resultat

=Forms![Orders]![OrderID]

Verdien til OrderID-kontrollen i Orders-skjemaet.

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

Verdien til kontrollen OrderSubtotal i delskjemaet kalt Orders Subform i Orders-skjemaet.

=Forms![Orders]![Orders Subform]![ProductID].Column(2)

Verdien av den tredje kolonnen i Produkt-ID, en listeboks med flere kolonner i delskjemaet kalt Orders Subform i Orders-skjemaet. (Legg merke til at 0 refererer til den første kolonnen, 1 refererer til den andre kolonnen, og så videre.)

=Forms![Orders]![Orders Subform]![Price] * 1.06

Produktet av verdien til Price-kontrollen i delskjemaet kalt Orders Subform i Orders-skjemaet og 1,06 (legger til 6 prosent til verdien av Price-kontrollen).

=Parent![OrderID]

Verdien til OrderID-kontrollen på hovedskjema eller overordnet skjema i gjeldende delskjema.

Uttrykkene i tabellen nedenfor viser noen måter du kan bruke beregnede kontroller i rapporter på. Uttrykkene refererer til Egenskap for rapport.

Uttrykk

Resultat

=Report![Invoice]![OrderID]

Verdien av en kontroll kalt «OrderID» i en rapport kalt «Invoice.»

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

Verdien til SalesTotal-kontrollen i delrapporten kalt Summary Subreport i Summary-rapporten.

=Parent![OrderID]

Verdien til Ordre-ID-kontrollen på hovedskjema eller overordnet skjema i gjeldende delrapport.

Til toppen av siden

Telle, summere og beregne gjennomsnittsverdier

Du kan bruke en funksjonstype kalt mengdefunksjon til å beregne verdier for én eller flere felt eller kontroller. Du kan for eksempel beregne en gruppetotalsum for bunnteksten for gruppen i en rapport, eller en ordredelsum for linjeelementene i et skjema. Du kan også telle antall elementer i ett eller flere felt, eller beregne en gjennomsnittlig verdi.

Uttrykkene i tabellen under viser noen av måtene å bruke funksjoner på, som Gjennomsnitt, Tell og Summer.

Uttrykk

Beskrivelse

=Avg([Freight])

Bruker funksjonen Gjennomsnitt til å vise gjennomsnittet av verdiene i et tabellfelt eller en kontroll kalt «Frakt».

=Count([OrderID])

Bruker funksjonen Tell til å vise antall poster i Ordre-ID-kontrollen.

=Sum([Sales])

Bruker funksjonen Summer til å vise summen av verdiene i Salg-kontrollen.

=Sum([Quantity]*[Price])

Bruker funksjonen Summer til å vise summen av produktet av verdiene til kontrollene Antall og Pris.

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

Viser prosentvise salg, fastsatt ved å dividere verdien av Salg-kontrollen med summen av alle verdiene i Salg-kontrollen.

Hvis du angir Format-egenskapen for kontrollen til Prosent, skal du ikke inkludere *100 i uttrykket.

Hvis du vil ha mer informasjon om hvordan du bruker mengdefunksjoner og summerer verdiene i felt og kolonner, se artiklene Summere data ved hjelp av en spørring, Telle data ved hjelp av en spørring, Vise totalsummer for kolonner i et dataark ved hjelp av en Totaler-rad, og Vise totalsummer for kolonner i et dataark.

Til toppen av siden

SQL-mengdefunksjoner

Du bruker en funksjon kalt en SQL-funksjon eller domenemengdefunksjon når du vil summere eller telle verdier selektivt. Et «domene» består av ett eller flere felt i én eller flere tabeller, eller én eller flere kontroller i ett eller flere skjemaer eller rapporter. Du kan for eksempel sammenholde verdiene i et tabellfelt med verdiene i en kontroll i et skjema.

Uttrykk

Beskrivelse

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

Bruker DLookup-funksjonen til å returnere verdien til feltet Kontaktnavn i Leverandører-tabellen, der verdien til feltet Leverandør-ID i tabellen samsvarer med verdien til Leverandør-ID-kontrollen i Leverandører-skjemaet.

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

Bruker DLookup-funksjonen til å returnere verdien til feltet Kontaktnavn i Leverandører-tabellen der verdien til feltet Leverandør-ID i tabellen samsvarer med verdien til Leverandør-ID-kontrollen i skjemaet Nye leverandører.

=DSum("[OrderAmount]", "[Orders]", "[CustomerID] = 'RATTC'")

Bruker DSum-funksjonen til å returnere totalsummen av verdiene i feltet Antall ordre i Ordrer-tabellen der Kunde-ID er RATTC.

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

Bruker DCount-funksjonen til å returnere antall Ja-verdier i Tilbaketrukket-feltet (et Ja/Nei-felt) i Aktiva-tabellen.

Til toppen av siden

Dato-operasjoner

Sporing av datoer og klokkeslett er en grunnleggende databaseaktivitet. Du kan for eksempel beregne hvor mange dager som har gått siden fakturadatoen, slik at du har kontroll på dine kundefordringer. Du kan formatere datoer og klokkeslett på mange forskjellige måter, som vist i tabellen nedenfor.

Uttrykk

Beskrivelse

=Date()

Bruker Dato-funksjonen til å vise gjeldende dato i skjemaet for mm-dd-yy, der mm er måneden (1 til og med 12), dd er dagen (1 til og med 31) og yy er de to siste sifrene i året (1980 til og med 2099).

=Format(Now(), "ww")

Bruker Format-funksjonen til å vise ukenummeret i året for gjeldende dato, der ww representerer uke 1 til og med 53.

=DatePart("yyyy", [OrderDate])

Bruker funksjonen DatePart til å vise det firesifrede året i verdien til Ordredato-kontrollen.

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

Bruker DateAdd-funksjonen til å vise en dato som er 10 dager før verdien i Avtalt dato-kontrollen.

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

Bruker DateDiff-funksjonen til å vise differansen i antall dager mellom verdiene i kontrollene for Ordredato og Sendt dato.

=[InvoiceDate] + 30

Bruker aritmetiske operasjoner på datoer til å beregne datoen 30 dager etter datoen i Fakturadato-feltet eller -kontrollen.

Til toppen av siden

Betingelser for bare to verdier

Eksempeluttrykkene i følgende tabell bruker IIF-funksjonen til å returnere én av to mulige verdier. Du sender IIF-funksjonen tre argumenter: Det første argumentet er et uttrykk som må returnere en True- eller False-verdi. Det andre argumentet er verdien som skal returneres hvis uttrykket er sant, og det tredje argumentet er verdien som skal returneres hvis uttrykket er usant.

Uttrykk

Beskrivelse

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

Bruker IIf (Immediate If)-funksjonen til å vise meldingen «Ordre bekreftet» hvis verdien til den bekreftede kontrollen er Yes. Ellers vises meldingen "Order Not Confirmed."

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

Bruker IIf- og IsNull-funksjoner til å vise en tom streng hvis verdien til kontrollen for Land/område er null. Ellers vises verdien til kontrollen for Land/område.

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

Bruker IIf- og IsNull-funksjoner til å vise verdien av kontrollene for Postnummer og Poststed hvis verdien i Område-kontrollen er null. Ellers vises verdien i feltene eller kontrollene for Postnummer, Poststed og Område.

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

Bruker IIf- og IsNull-funksjoner for å vise meldingen «Kontroller en manglende dato» hvis resultatet blir null når du subtraherer Sendt dato fra Leveringsdato. Ellers vises intervallet mellom datoverdiene for Leveringsdato- og Sendt dato-kontrollene.

Til toppen av siden

Spørringer og filtre

Denne delen inneholder eksempler på uttrykk som du kan bruke til å opprette et beregnet felt i en spørring eller angi vilkår i en spørring. Et beregnet felt er en kolonne i en spørring som et resultat av et uttrykk. Du kan for eksempel beregne en verdi, kombinere tekstverdier som fornavn og etternavn, eller formatere en del av en dato.

Du kan bruke vilkår i en spørring til å begrense postene du arbeider med. Du kan for eksempel bruke Between-operatoren for å angi en start- og sluttdato og begrense resultatet av spørringen til ordre som ble sendt mellom disse datoene.

Nedenfor kan du se eksempler på uttrykk som brukes i spørringer.

Tekstoperasjoner

Uttrykkene i den følgende tabellen bruker operatorene & og + til å kombinere tekststrenger, innebygde funksjoner til å manipulere en tekststreng, eller på annen måte endre en tekst for å opprette et beregnet felt.

Uttrykk

Beskrivelse

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

Oppretter et felt kalt FullName som viser verdiene i feltene FirstName og LastName, atskilt med et mellomrom.

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

Oppretter et felt kalt Adresse2 som viser verdiene i feltene Postnummer, Poststed og Område, atskilt med mellomrom.

ProductInitial: Left([ProductName], 1)

Oppretter et felt kalt Produktinitial og bruker deretter Venstre-funksjonen i Produktinitial-feltet for å vise det første tegnet i verdien i Produktnavn-feltet.

TypeCode: Right([AssetCode], 2)

Oppretter et felt kalt Typekode og bruker deretter Høyre-funksjonen til å vise de to siste tegnene av verdiene i Aktivakode-feltet.

AreaCode: Mid([Phone],2,3)

Oppretter et felt kalt Områdekode, og bruker deretter Midt-funksjonen til å vise de tre tegnene fra og med det andre tegnet i verdien i Telefon-feltet.

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

Navngir det beregnede feltet Økt pris, og bruker CCur-funksjonen til å beregne totalsummene for linjeelementene med en brukt rabatt.

Til toppen av siden

Aritmetiske operasjoner

Du kan bruke uttrykk til å addere, subtrahere, multiplisere og dividere verdiene i to eller flere felt eller kontroller. Du kan også utføre aritmetiske operasjoner med datoer. Du kan for eksempel ha et felt for dato og klokkeslett du kaller Leveringsdato. Uttrykket =[RequiredDate] - 2 returnerer en dato/klokkeslett-verdi lik to dager før verdien i Leveringsdato-feltet.

Uttrykk

Beskrivelse

PrimeFreight: [Freight] * 1.1

Oppretter et felt kalt PrimeFreight og viser deretter fraktkostnader pluss 10 prosent i feltet.

OrderAmount: [Quantity] * [UnitPrice]

Oppretter et felt kalt OrderAmount, og viser deretter produktet av verdiene i feltene Antall og Enhetspris.

LeadTime: [RequiredDate] - [ShippedDate]

Oppretter et felt kalt LeadTime og viser deretter forskjellen mellom verdiene i feltene RequiredDate og ShippedDate.

TotalStock: [UnitsInStock]+[UnitsOnOrder]

Oppretter et felt kalt TotalStock og viser deretter summen av verdiene i feltene UnitsInStock og UnitsOnOrder.

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Oppretter et felt kalt Frakt i prosent, og viser deretter prosentvise fraktkostnader i hver delsum. Dette uttrykket bruker Summer-funksjonen for å summere verdiene i Frakt-feltet, og dividerer deretter totalsummene med summen av verdiene i feltet Delsum-feltet.

Hvis du vil bruke dette uttrykket, må du konvertere utvalgsspørringen til en totalverdispørring, fordi du må bruke Total-raden i utformingsrutenettet, og du må angi Total-cellen for dette feltet til Uttrykk.

Hvis du vil ha mer informasjon om hvordan du oppretter en totalverdispørring, kan du se artikkelen Summer data ved hjelp av en spørring.

Hvis du angir egenskapen Format for feltet til Prosent, skal du ikke inkludere *100.

Hvis du vil ha mer informasjon om hvordan du bruker mengdefunksjoner og summerer verdiene i felt og kolonner, se artiklene Summere data ved hjelp av en spørring, Telle data ved hjelp av en spørring, Vise totalsummer for kolonner i et dataark ved hjelp av en Totaler-rad, og Vise totalsummer for kolonner i et dataark.

Til toppen av siden

Dato-operasjoner

De aller fleste databaser lagrer og sporer datoer og klokkeslett. Du arbeider med datoer og klokkeslett i Access ved å angi dato- og klokkeslettfelt i tabellene til datatypen Dato/klokkeslett. Access kan utføre aritmetiske beregninger med datoer, du kan for eksempel beregne hvor mange dager som har gått siden fakturadatoen, slik at du vet når dine fordringer forfaller.

Uttrykk

Beskrivelse

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

Oppretter et felt kalt Forsinkelse, og bruker deretter DateDiff-funksjonen til å vise antall dager mellom ordredato og sendedato.

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

Oppretter et felt kalt Ansattår og bruker deretter DatePart-funksjonen til å vise året hver medarbeider ble ansatt.

MinusThirty: Date( )- 30

Oppretter et felt kalt Minus tretti, og bruker deretter Dato-funksjonen til å vise datoen 30 dager før gjeldende dato.

Til toppen av siden

SQL-mengdefunksjoner

Uttrykkene i tabellen nedenfor bruker SQL (strukturert spørringsspråk)-funksjoner som samler eller summerer data. Du ser ofte disse funksjonene (for eksempel Summer, Tell, og Gjennomsnitt) beskrevet som mengdefunksjoner.

I tillegg til mengdefunksjoner gir Access også mengdefunksjoner for «domene», som du kan bruke til å summere eller telle verdier selektivt. Du kan for eksempel telle bare verdiene i et bestemt område, eller søke etter en verdi fra en annen tabell. Utvalget av mengdefunksjoner for domenet inkluderer DSum-funksjonen, DCount-funksjonen og DAvg-funksjonen.

Hvis du vil beregne totaler, må du ofte opprette en totalverdispørring. Hvis du for eksempel vil summere etter gruppe, må du bruke en totalverdispørring. Hvis du vil aktivere en totalverdispørring fra utformingsrutenettet for spørringen, klikk på TotalerVis-menyen.

Uttrykk

Beskrivelse

RowCount: Count(*)

Oppretter et felt kalt Radtelling, og bruker deretter Tell-funksjonen til å telle antall poster i spørringen, inkludert poster med nullfelt (tomme).

FreightPercentage: Sum([Freight])/Sum([Subtotal]) *100

Oppretter et felt kalt Frakt i prosent, og beregner deretter prosenten av fraktkostnader i hver delsum ved å dividere summen av verdiene i Frakt-feltet med summen av verdiene i Delsum-feltet. (Dette eksemplet bruker Summer-funksjonen.)

Du må bruke dette uttrykket med en totalverdispørring. Hvis du angir egenskapen Format for feltet til Prosent, skal du ikke inkludere *100.

Hvis du vil ha mer informasjon om hvordan du oppretter en totalverdispørring, se artikkelen Summere data ved hjelp av en spørring.

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

Oppretter et felt kalt Gjennomsnittlig fraktkostnad, og bruker deretter DAvg-funksjonen til å beregne gjennomsnittlig frakt på alle ordre som kombineres i en totalverdispørring.

Til toppen av siden

Felt med manglende data

Uttrykkene som vises her fungerer med felt som potensielt mangler informasjon, for eksempel de som inneholder nullverdier (ukjente eller udefinerte). Du får ofte nullverdier, for eksempel en ukjent pris for et nytt produkt eller en verdi som en kollega har glemt å legge til en ordre. Muligheten til å finne og behandle nullverdier kan være en viktig del av databaseoperasjoner, og uttrykkene i tabellen nedenfor viser noen vanlige metoder for å håndtere nullverdier.

Uttrykk

Beskrivelse

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

Oppretter et felt kalt Gjeldende land/område, og bruker deretter IIf- og IsNull-funksjoner for å vise en tom streng i feltet når Land/område-feltet inneholder en nullverdi. Ellers vises innholdet i Land/område-feltet.

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

Oppretter et felt kalt Leveringstid, og bruker deretter IIf- og IsNull-funksjoner for å vise meldingen «Kontroller for manglende dato» hvis verdien i Leveringsdato-feltet eller Sendt dato-feltet er null. Ellers vises datodifferansen.

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

Oppretter et felt kalt Salg siste seks måneder, og viser deretter summen av verdiene i feltene Salg 1. kvartal og Salg 2. kvartal, ved først å bruke Nz-funksjonen til å konvertere eventuelle nullverdier til null.

Til toppen av siden

Beregnede felt med delspørringer

Du kan bruke en nestet spørring, også kalt en delspørring til å opprette et beregnet felt. Uttrykket i tabellen nedenfor er ett eksempel på et beregnet felt som resultat av en delspørring.

Uttrykk

Beskrivelse

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

Oppretter et felt kalt Kategori, og viser deretter Kategorinavn, hvis Kategori-ID fra Kategori-tabellen er det samme som Kategori-ID fra Produkter-tabellen.

Til toppen av siden

Sammenligne tekstverdier

Eksempeluttrykkene i denne tabellen viser vilkår som samsvarer med hele eller deler av tekstverdier.

Felt

Uttrykk

Beskrivelse

ShipCity

"London"

Viser ordrer som er sendt til London.

ShipCity

"London" Or "Hedge End"

Bruker Or-operatoren til å vise ordrer sendt til London eller Hamar.

ShipCountryRegion

In("Canada", "UK")

Bruker In-operatoren til å vise ordrer sendt til Canada eller Storbritannia.

ShipCountryRegion

Not "USA"

Bruker Not-operatoren til å vise ordrer sendt til andre land/regioner enn USA.

ProductName

Not Like "C*"

Bruker Not-operatoren og *-jokertegnet til å vise produkter som har navn som ikke begynner med C.

CompanyName

>="N"

Viser ordrer sendt til firmaer som har navn som begynner med bokstavene N til og med Z.

ProductCode

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

Bruker Høyre-funksjonen til å vise ordrer med produktkodeverdier som slutter på 99.

ShipName

Like "S*"

Viser ordrer sendt til firmaer som har navn som begynner med bokstaven S.

Til toppen av siden

Sammenligne datokriterier

Uttrykkene i tabellen under demonstrerer bruken av datoer og relaterte funksjoner i vilkårsuttrykk. Hvis du vil ha mer informasjon om hvordan du angir og bruker datoverdier, se artikkelen Formatere et dato- eller klokkeslettfelt.

Felt

Uttrykk

Beskrivelse

ShippedDate

#2/2/2017#

Viser ordrer som ble sendt 2. februar 2017.

ShippedDate

Date()

Viser ordrer som er sendt i dag.

RequiredDate

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

Bruker Between...And-operatoren og DateAdd- og Dato-funksjonene til å vise ordrer mellom dagens dato og tre måneder fremover.

OrderDate

< Date( ) - 30

Bruker Dato-funksjonen til å vise ordrer eldre enn 30 dager.

OrderDate

Year([OrderDate])=2017

Bruker År-funksjonen til å vise ordrer med ordredatoer i 2017.

OrderDate

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

Bruker DatePart-funksjonen til å vise ordrer for fjerde kvartal.

OrderDate

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

Bruker funksjonene DateSerial, År og Måned til å vise ordrer for den siste dagen i hver måned.

OrderDate

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

Bruker År- og Månedfunksjonene samt Og-operatoren til å vise ordrer for gjeldende år og måned.

ShippedDate

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

Bruker Between...And -operatoren til å vise ordrer som ble sendt tidligst 5. januar 2017 og ikke senere enn 10. januar 2017.

RequiredDate

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

Bruker Between...And-operatoren til å vise ordrer mellom dagens dato og tre måneder fremover.

BirthDate

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

Bruker Måned- og Datofunksjonen til å vise ansatte som har fødselsdag denne måneden.

Til toppen av siden

Finne manglende data

Uttrykkene i tabellen nedenfor fungerer med felt som kan ha manglende informasjon – de som inneholder en nullverdi eller en tom streng. En nullverdi representerer fravær av informasjon. Den representerer verken en null eller en verdi i det hele tatt. Access støtter denne tanken med manglende informasjon, fordi konseptet er viktig for integriteten til en database. I virkeligheten mangler informasjon ofte, selv om det bare er midlertidig (for eksempel ikke fastsatt pris for et nytt produkt). Derfor må en database som gjenspeiler en virkelig enhet, for eksempel en bedrift, være i stand til å registrere informasjon som mangler. Du kan bruke IsNull-funksjonen til å fastslå om felt eller kontroll inneholder en nullverdi, og du kan bruke Nz-funksjonen til å konvertere en nullverdi til null.

Felt

Uttrykk

Beskrivelse

ShipRegion

Is Null

Viser ordrer for kunder der feltet Sendt til område er null (manglende).

ShipRegion

Is Not Null

Viser ordrer for kunder der feltet Sendt til område inneholder en verdi.

Faksnummer

""

Viser ordrer for kunder som ikke har en faksmaskin, angitt med en tom strengverdi i Faks-feltet i stedet for en nullverdi (manglende verdi).

Til toppen av siden

Sammenligne postmønstre med Lik

Like-operatoren gir stor fleksibilitet når du prøver å sammenholde rader som følger et mønster, fordi du kan bruke Like med jokertegn og definere mønstre som sammenlignes i Access. For eksempel samsvarer *-jokertegnet (stjerne) med en sekvens av mange ulike typer tegn, og gjør det enkelt å finne alle navn som begynner med en bokstav. Du bruker for eksempel uttrykket Like "S*" til å finne alle navn som begynner med bokstaven S. Hvis du vil ha mer informasjon, se artikkelen Lik-operatoren.

Felt

Uttrykk

Beskrivelse

ShipName

Like "S*"

Finner alle poster i feltet ShipName-feltet som begynner med bokstaven S.

ShipName

Like "*Imports"

Finner alle poster i ShipName-feltet som slutter med ordet «Importer».

ShipName

Like "[A-D]*"

Finner alle poster i Forsendelsesnavn-feltet som begynner med bokstavene A, B, C eller D.

ShipName

Like "*ar*"

Finner alle poster i Forsendelsesnavn-feltet som begynner med bokstavsekvens «ar».

ShipName

Like "Maison Dewe?"

Finner alle poster i ShipName-feltet som inkluderer "Maison" i den første delen av verdien og en streng på fem bokstaver der de første fire bokstavene er "Dewe" og den siste bokstaven er ukjent.

ShipName

Not Like "A*"

Finner alle poster i Forsendelsesnavn-feltet som ikke begynner med bokstaven A.

Til toppen av siden

Sammenligne rader med SQL-mengder

Du bruker en SQL-funksjon eller en mengdefunksjon for domenet når du skal summere, telle eller beregne gjennomsnitt av verdier selektivt. Hvis du for eksempel vil telle bare verdiene som faller innenfor et bestemt område, eller som evalueres til Ja. Andre ganger må du kanskje søke etter en verdi fra en annen tabell slik at du kan vise den. Eksempeluttrykkene i tabellen nedenfor bruker mengdefunksjoner for domenet for å utføre en beregning på et sett med verdier, og bruke resultatet som spørringsvilkår.

Felt

Uttrykk

Beskrivelse

Frakt

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

Bruker DStDev- og DAvg-funksjonene for å vise alle ordrene der fraktkostnaden ble høyere enn gjennomsnittet, pluss standardavviket for fraktkostnad.

Antall

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

Bruker DAvg-funksjonen til å vise produkter bestilt i antall over gjennomsnittlig ordreantall.

Til toppen av siden

Sammenligne felt med delspørringer

Du kan bruke en delspørring, også kalt en nestet spørring, til å beregne en verdi for bruk som vilkår. Eksempeluttrykk i tabellen nedenfor samsvarer med radene basert på resultatene som returneres av en delspørring.

Felt

Uttrykk

Viser

UnitPrice

(SELECT [UnitPrice] FROM [Products] WHERE [ProductName] = "Aniseed Syrup")

Produkter hvor prisen er den samme som prisen på anissirup.

UnitPrice

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

Produkter som har enhetspris over gjennomsnittet.

Lønn

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

Lønnen til alle selgere som har høyere lønn enn ansatte med titlene «Manager» eller «Vice President».

OrderTotal: [UnitPrice] * [Quantity]

> (SELECT AVG([UnitPrice] * [Quantity]) FROM [Order Details])

Ordrer med totalsummer som er høyere enn verdien på en gjennomsnittlig ordre.

Til toppen av siden

Oppdateringsspørringer

Du bruker en oppdateringsspørring til å endre dataene i én eller flere eksisterende felt i en database. Du kan for eksempel erstatte verdier eller slette dem helt. Denne tabellen viser noen måter du kan bruke uttrykk i oppdateringsspørringer. Du bruker disse uttrykkene i Oppdater til-raden i utformingsrutenettet for spørringen for feltet du vil oppdatere.

Hvis du vil ha mer informasjon om hvordan du lager oppdateringsspørringer, se artikkelen Opprette og kjøre en oppdateringsspørring.

Felt

Uttrykk

Resultat

Tittel

"Salesperson"

Endrer tekstverdien til Selger.

ProjectStart

#8/10/17#

Endrer en datoverdi til 10. august 2017.

Trukket tilbake

Yes

Endrer en Nei-verdi i et Ja/Nei-felt til Ja.

PartNumber

"PN" & [PartNumber]

Legger til PN i begynnelsen av hvert angitte artikkelnummer.

LineItemTotal

[UnitPrice] * [Quantity]

Beregner produktet av UnitPrice og Quantity.

Frakt

[Freight] * 1.5

Øker fraktkostnader med 50 prosent.

Salg

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

Der Produkt-ID-verdiene i den gjeldende tabellen samsvarer med Produkt-ID-verdiene i tabellen Ordredetaljer, vil oppdatering av totalt salg være basert på produktet av Antall og Enhetspris.

ShipPostalCode

Right([ShipPostalCode], 5)

Avkorter tegnene lengst til venstre, og lar de fem tegnene lengst til høyre stå.

UnitPrice

Nz([UnitPrice])

Endrer en nullverdi (udefinert eller ukjent) til en null (0) i Enhetspris-feltet.

Til toppen av siden

SQL-setninger

Strukturert spørringsspråk, eller SQL, er språket for spørringer som Access bruker. Alle spørringer du oppretter i utformingsvisningen kan også uttrykkes ved hjelp av SQL. Hvis du vil se SQL-setningene for spørringene dine, kan du klikke SQL-visningVis-menyen. Tabellen nedenfor viser et utvalg av SQL-setninger som bruker et uttrykk.

SQL-setning som bruker et uttrykk

Resultat

SELECT [FirstName],[LastName] FROM [Employees] WHERE [LastName]="Danseglio";

Viser verdiene i feltene Fornavn og Etternavn for ansatte som har etternavnet Danseglio.

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

Viser verdiene i ProductID- og ProductName-feltene i produkttabellen for poster der verdien i CategoryID samsvarer med CategoryID-verdien som er angitt i et åpent skjema for nye produkter.

SELECT Avg([ExtendedPrice]) AS [Average Extended Price] FROM [Order Details Extended] WHERE [ExtendedPrice]>1000;

Beregner den utvidede gjennomsnittsprisen for bestillinger der verdien i feltet ExtendedPrice er høyere enn 1000. Den vises i et felt kalt Utvidet gjennomsnittspris.

SELECT [CategoryID], Count([ProductID]) AS [CountOfProductID] FROM [Products] GROUP BY [CategoryID] HAVING Count([ProductID])>10;

I et felt kalt Antall produkt-ID, vises totalt antall produkter for kategorier med fler enn 10 produkter.

Til toppen av siden

Tabelluttrykk

De to vanligste metodene for å bruke uttrykk i tabeller er å tilordne en standardverdi og å opprette en valideringsregel.

Standard feltverdier

Når du utformer en database, kan det hende du vil tilordne en standardverdi til et felt eller kontroll. Access leverer deretter standardverdien når en ny post som inneholder feltet blir opprettet, eller når et objekt som inneholder kontrollen blir opprettet. Uttrykkene i tabellen nedenfor representerer utvalget av standardverdier for et felt eller en kontroll. Hvis en kontroll er bundet til et felt i en tabell, og feltet har en standardverdi, har standardverdien for kontrollen forrang.

Felt

Uttrykk

Standard feltverdi

Antall

1

1

Region

"MT"

MT

Region

"New York, N.Y."

New York, N.Y. (Vær oppmerksom på at du må omslutte verdien i anførselstegn hvis den inneholder tegnsetting.)

Faksnummer

""

En tom streng som angir at dette feltet som standard skal være tomt i stedet for å inneholde en nullverdi

Ordredato

Date( )

Dagens dato

DueDate

Date() + 60

Datoen 60 dager fra i dag

Til toppen av siden

Feltvalideringsregler

Du kan opprette en valideringsregel for et felt eller en kontroll ved hjelp av et uttrykk. Access håndhever deretter regelen når data angis i feltet eller kontrollen. Hvis du vil opprette en valideringsregel, endrer du egenskapen Valideringsregel for feltet eller kontrollen. Du bør også vurdere innstillingen for Valideringstekst-egenskapen. Den inneholder teksten som Access viser når valideringsregelen brytes. Hvis du ikke angir Valideringstekst-egenskapen, viser Access en standardfeilmelding.

Eksemplene i tabellen nedenfor viser valideringsregel-uttrykkene for Valideringsregel-egenskapen, og den tilknyttede teksten til Valideringstekst-egenskapen.

Valideringsregel-egenskapen

Valideringstekst-egenskapen

<> 0

Skriv inn en annen verdi enn null.

0 Or > 100

Verdien må være enten 0 eller mer enn 100.

Like "K???"

Verdien må bestå av fire tegn og begynne med bokstaven K.

< #1/1/2017#

Skriv inn en dato tidligere enn 01.01.2017.

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

Datoen må finnes i 2017.

Hvis du vil ha mer informasjon om validering av data, se artikkelen Opprette en valideringsregel for å validere data i et felt.

Til toppen av siden

Makrouttrykk

I noen tilfeller kan det hende at du vil utføre en handling eller et sett med handlinger i en makro bare hvis en bestemt betingelse er sann. Anta for eksempel at du vil at en handling bare skal kjøre når verdien for Teller-tekstboksen er 10. Du bruker et uttrykk til å definere betingelsen i en If-blokk:

[Counter]=10

Som med Egenskapen ValidationRule (Valideringsregel ) er uttrykket i en If-blokk et betinget uttrykk. Det må rettes til en True- eller False-verdi. Handlingen utføres bare når betingelsen er sann.

Bruk dette uttrykket til å utføre handlingen

If

[City]="Paris"

Paris er verdien for poststed i det feltet på skjemaet som makroen ble kjørt fra.

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

Det finnes mer enn 35 oppføringer i feltet Ordre-ID i tabellen Ordre.

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

Det finnes mer enn tre oppføringer i tabellen Ordredetaljer hvor Ordre-ID-feltet i tabellen samsvarer med Ordre-ID-feltet i Ordrer-skjemaet.

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

Verdien i Sendt dato-feltet i skjemaet som makroen kjøres fra, er tidligst 2. februar 2017 og senest 2. mars 2017.

Forms![Products]![UnitsInStock] < 5

Verdien til feltet Enheter på lager på skjemaet Produkter er mindre enn 5.

IsNull([FirstName])

Fornavn-verdien i skjemaet som makroen kjøres fra er null (har ingen verdi). Dette uttrykket tilsvarer [FirstName] er null.

[CountryRegion]="UK" And Forms![SalesTotals]![TotalOrds] > 100

Verdien i Land/område-feltet i skjemaet som makroen kjøres fra er Storbritannia, og verdien til Ordrer totalt-feltet i Salg totalt-skjemaet er større enn 100.

[CountryRegion] In ("France", "Italy", "Spain") And Len([PostalCode])<>5

Verdien i Land/område-feltet i skjemaet som makroen kjøres fra er enten Frankrike, Italia eller Spania og postnummeret er ikke på 5 tegn.

MsgBox("Confirm changes?",1)=1

Du klikker på OK i en dialogboks som MsgBox-funksjonen viser. Hvis du klikker på Avbryt i dialogboksen, ignorerer Access handlingen.

Til toppen av siden

Se også

Bruke uttrykksverktøyet

Innføring i uttrykk

Lær hvordan du lager et uttrykk

Veiledning for uttrykkssyntaks

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.