Eksempler på uttrykk

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 for å 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, angir du et uttrykk i egenskapen ControlSource for kontrollen, i stedet for i et tabellfelt eller en spørring.

Obs!    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 til å manipulere en tekststreng, eller på annen måte endre en tekst for å opprette en beregnet kontroll.

Uttrykk

Resultat

="N/A"

Viser I/A.

=[FirstName] & " " & [LastName]

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

=Left([ProductName], 1)

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

=Right([AssetCode], 2)

Bruker Right-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 Address-kontrollen og fjerne eventuelle innledende eller etterfølgende mellomrom.

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

Bruker IIf-funksjonen for å vise verdiene for City- og PostalCode-kontrollene, hvis verdien i område-kontrollen er null. Ellers vises verdiene for City- , Region- og PostalCode-kontrollene 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, mens operatoren & ikke gjør det.

Til toppen av siden

Topptekst og bunntekst

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 bruke du 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, kan du 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 å legge sammen, trekke fra, gange og dele verdiene i to eller flere felt eller kontroller. Du kan også bruke uttrykk til å utføre aritmetiske operasjoner med datoer. La oss for eksempel si at du har et tabellfelt for dato og klokkeslett som heter RequiredDate. 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 RequiredDate-feltet.

Uttrykk

Resultat

=[Subtotal]+[Freight]

Summen av verdiene i Subtotal- og Freight-feltene eller -kontrollene.

=[RequiredDate]-[ShippedDate]

Intervallet mellom datoverdiene i RequiredDate- og ShippedDate-feltene eller -kontrollene.

=[Price]*1.06

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

=[Quantity]*[Price]

Produktet av verdiene i Quantity- og Price-feltene eller -kontrollene.

=[EmployeeTotal]/[CountryRegionTotal]

Kvotienten av verdiene i EmployeeTotal- og CountryRegionTotal-feltene eller -kontrollene.

Obs!    Når du bruker en aritmetisk operator (+, -, * og /) i et uttrykk, og verdien til én av kontrollene i uttrykket er null, blir resultatet av hele uttrykket null. Dette kalles null-overføring. Hvis en post i en av kontrollene som du bruker i uttrykket kan ha 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 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 OrderSubtotal-kontrollen 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 under viser noen metoder for å bruke beregnede kontroller i rapporter. Uttrykkene refererer til Egenskap for rapport.

Uttrykk

Resultat

=Report![Invoice]![OrderID]

Verdien til 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 OrderID-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 én eller flere felt eller beregne en gjennomsnittlig verdi.

Uttrykkene i tabellen under viser noen av metodene for å bruke funksjoner som Gjennomsnitt, Tell og Summer.

Uttrykk

Beskrivelse

=Avg([Freight])

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

=Count([OrderID])

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

=Sum([Sales])

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

=Sum([Quantity]*[Price])

Bruker Summer-funksjonen til å vise summen av produktet av verdiene til kontrollene Quantity og Price.

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

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

Hvis du angir egenskapen Format 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, kan du se artiklene Summere data ved hjelp av en spørring, Telle data ved hjelp av en spørring, Telle radene i et dataark, og Vise kolonnesummer i et dataark.

Til toppen av siden

SQL-mengdefunksjoner

Du bruker en funksjonstype kalt SQL eller mengdefunksjon for domene når du skal 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 sammenligne 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 ContactName i Suppliers-tabellen der verdien til feltet SupplierID i tabellen samsvarer med verdien til SupplierID-kontrollen i Suppliers-skjemaet.

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

Bruker DLookup-funksjonen til å returnere verdien til feltet ContactName i Suppliers-tabellen der verdien til feltet SupplierID i tabellen samsvarer med verdien til SupplierID-kontrollen i skjemaet New Suppliers.

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

Bruker DSum-funksjonen til å returnere totalsummen av verdiene i feltet OrderAmount i Orders-tabellen der CustomerID er RATTC.

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

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

Til toppen av siden

Dato-operasjoner

Spore 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 formatet mm-dd-yy, der dd er dagen (1 til 31), mm er måneden (1 til 12) og yy er de to siste sifrene i året (1980 til 2099).

=Format(Now(), "ww")

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

=DatePart("yyyy", [OrderDate])

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

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

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

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

Bruker DateDiff-funksjonen til å vise differansen i antall dager mellom verdiene i kontrollene for OrderDate og ShippedDate.

=[InvoiceDate] + 30

Bruker aritmetiske operasjoner med datoer til å beregne datoen 30 dager etter datoen i InvoiceDate-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 «Order Confirmed» 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 Country/region er null. Ellers vises verdien til kontrollen for Country/region.

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

BrukerIIf- og IsNull-funksjoner til å vise verdien av kontrollene for City og PostalCode hvis verdien i Region-kontrollen er null. Ellers vises verdien i feltene eller kontrollene for City, Region og PostalCode.

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

BrukerIIf- og IsNull-funksjoner for å vise meldingen «Check for a missing date» hvis resultatet av å trekke fra ShippedDate fra RequiredDate er null. Ellers vises intervallet mellom datoverdiene for RequiredDate- og ShippedDate-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 operatoren Between for å angi en start- og sluttdato og begrense resultatet av spørringen til ordrer som ble sendt mellom disse datoene.

Eksempler på uttrykk som brukes i spørringer, er angitt under.

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 Address2 som viser verdiene i feltene City, Region og PostalCode, atskilt med mellomrom.

ProductInitial: Left([ProductName], 1)

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

TypeCode: Right([AssetCode], 2)

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

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

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

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

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

Til toppen av siden

Aritmetiske operasjoner

Du kan bruke uttrykk til å legge sammen, trekke fra, gange og dele verdiene i to eller flere felt eller kontroller. Du kan også utføre aritmetiske operasjoner med datoer. La oss for eksempel si at du har et felt for dato og klokkeslett som heter RequiredDate. Uttrykket =[RequiredDate] - 2 returnerer en dato/klokkeslett-verdi lik to dager før verdien i RequiredDate-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 Quantity og UnitPrice.

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 FreightPercentage, og viser deretter prosentvise fraktkostnader i hver delsum. Dette uttrykket bruker Sum-funksjonen for å summere verdiene i Freight-feltet, og dividerer deretter totalsummene med summen av verdiene i feltet Subtotal-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, kan du se artiklene Summere data ved hjelp av en spørring, Telle data ved hjelp av en spørring, Telle radene i et dataark, og Vise kolonnesummer 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, for eksempel kan du beregne hvor mange dager som har gått siden fakturadatoen, slik at du har kontroll på dine kundefordringer.

Uttrykk

Beskrivelse

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

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

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

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

MinusThirty: Date( )- 30

Oppretter et felt kalt MinusThirty 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 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 «domenet», 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. For å aktivere en totalverdispørring fra utformingsrutenettet for spørringen, klikker du TotalerVis-menyen.

Uttrykk

Beskrivelse

RowCount: Count(*)

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

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

Oppretter et felt kalt FreightPercentage, og beregner deretter prosenten av fraktkostnader i hver delsum ved å dele summen av verdiene i Freight-feltet med summen av verdiene i Subtotal-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, kan du se artikkelen Summer data ved hjelp av en spørring.

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

Oppretter et felt kalt AverageFreight 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, arbeider 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 CurrentCountryRegion og bruker deretter IIf- og IsNull-funksjoner for å vise en tom streng i feltet når CountryRegion-feltet inneholder en nullverdi. Ellers vises innholdet i CountryRegion-feltet.

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

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

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

Oppretter et felt kalt SixMonthSales og viser deretter summen av verdiene i feltene Qtr1Sales og Qtr2Sales 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 Cat og viser deretter CategoryName, hvis CategoryID fra Categories-tabellen er det samme som CategoryID fra Products-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 operatoren Or til å vise ordrer sendt til London eller Hedge End.

ShipCountryRegion

In("Canada", "UK")

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

ShipCountryRegion

Not "USA"

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

ProductName

Not Like "C*"

Bruker Not operatoren og * jokertegner 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 Z.

ProductCode

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

Bruker Right-funksjonen til å vise ordrer med ProductCode-verdier 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, kan du se artikkelen Angi en dato- eller klokkeslettverdi.

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 operatoren Between...And og funksjonene DateAdd og Dato til å vise ordrer mellom dagens dato og tre måneder fra dagens dato.

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 funksjonene År og Måned samt operatoren Og til å vise ordrer for gjeldende år og måned.

ShippedDate

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

Bruker operatoren Between...And 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 operatoren Between...And til å vise ordrer mellom dagens dato og tre måneder fra dagens dato.

BirthDate

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

Bruker funksjonene Måned og Dato til å vise ansatte som har fødselsdager denne måneden.

Til toppen av siden

Finn manglende data

Uttrykkene i tabellen nedenfor arbeider 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 ShipRegion er null (manglende).

ShipRegion

Is Not Null

Viser ordrer for kunder der feltet ShipRegion inneholder en verdi.

Faksnummer

""

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

Til toppen av siden

Sammenligne postmønstre med Lik

Operatoren Like gir stor fleksibilitet når du prøver å sammenligne 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 (stjerne-) jokertegnet * med en sekvens av mange ulike typer tegn og gjør det enkelt å finne alle navn som begynner med en bokstav. Du kan for eksempel bruke uttrykket Like "S*" for å finne alle navn som begynner med bokstaven S. Hvis du vil ha mer informasjon, kan du se artikkelen Operatoren Lik.

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 ShipName-feltet som begynner med bokstavene A, B, C eller D.

ShipName

Like "*ar*"

Finner alle poster i ShipName-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 ShipName-feltet som ikke begynner med bokstaven A.

Til toppen av siden

Sammenligne rader med SQL-mengder

Du bruker en SQL-funksjon eller mengdefunksjon for domene når du skal summere, telle eller beregne gjennomsnitt av verdier selektivt. Kanskje vil du for eksempel 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 under bruker mengdefunksjoner for domene til å utføre en beregning på et sett med verdier og bruker 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 feltet du vil oppdatere.

Hvis du vil ha mer informasjon om hvordan du lager oppdateringsspørringer, kan du 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.

Fjernet

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 ProductID-verdiene i den gjeldende tabellen samsvarer med ProductID-verdiene i tabellen Order Details, vil oppdatering av totalt salg være basert på produktet av Quantity og UnitPrice.

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 UnitPrice-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 angir et uttrykk.

SQL-setning som bruker et uttrykk

Resultat

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

Viser verdiene i FirstName- og LastName-feltene 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 CountOfProductID, vises totalt antall produkter for kategorier med mer 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 en kontroll. I Access leveres 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 under 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

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

Egenskapen Valideringsregel

Egenskapen Valideringstekst

<> 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å være i 2017.

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

Til toppen av siden

Makrouttrykk

I noen tilfeller kan det hende du vil utføre en handling eller et sett med handlinger i en makro bare hvis en bestemt betingelse er sann. La oss for eksempel si at du vil at en handling bare skal kjøre når verdien for tekstboksen Teller er 10. Du bruker et uttrykk til å definere vilkåret i Betingelse-kolonnen i makroen:

[Counter]=10

Akkurat som med egenskapen Valideringsregel, er Betingelse-kolonnen også et betinget uttrykk. Det må rettes til en True- eller False-verdi. Handlingen utføres bare når betingelsen er sann.

Tips    Hvis du vil tvinge Access til å midlertidig ignorere en handling, kan du skrive inn False som en betingelse. Dette kan være nyttig når du prøver å finne problemer i en makro.

Bruk dette uttrykket til å utføre handlingen

Hvis

[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 OrderID-feltet i ordretabellen.

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

Det finnes mer enn tre oppføringer i tabellen Order Details hvor OrderID-feltet i tabellen samsvarer med OrderID-feltet i Orders-skjemaet.

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

Verdien til ShippedDate-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 UnitsInStock på produktskjemaet er mindre enn 5.

IsNull([FirstName])

FirstName-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 CountryRegion-feltet i skjemaet som makroen kjøres fra er Storbritannia, og verdien til TotalOrds-feltet i SalesTotals-skjemaet er større enn 100.

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

Verdien i CountryRegion-feltet i skjemaet som makroen kjøres fra er enten Frankrike, Italia eller Spania og postnummeret er ikke 5 tegn.

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

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

Til toppen av siden

Se også

Bruke uttrykksverktøyet

Innføring i uttrykk

Lage uttrykk

Veiledning for uttrykkssyntaks

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×