Du kan bruke uttrykk til en rekke ulike oppgaver i Microsoft Access, for eksempel å utføre matematiske beregninger, kombinere eller trekke ut tekst, eller validering av data. Denne artikkelen gir et generelt overblikk over uttrykk – når du kan bruke dem, hvilke komponentdeler de består av og forskjeller og likheter mellom uttrykk og Microsoft Office Excel-formler.
I denne artikkelen
Oversikt over uttrykk
Tenk på det på denne måten: Når du vil at Access skal gjøre noe, må du snakke et språk Access forstår. La oss si at du vil at Access skal «se på Fødselsdato-feltet i Kunder-tabellen, og si meg hva kundens fødselsår er.» Du kan skrive dette uttrykket slik:
DatePart("yyyy",[Customers]![BirthDate])
Dette uttrykket består av DatePart-funksjonen og to argumentverdier: "yyyy" og [Customers]![BirthDate].
La oss se litt nærmere på dette uttrykket.
1 DatePart er en funksjon som undersøker en dato og returnerer en bestemt del. I dette tilfellet brukes de første to argumentene.
2 Intervallargumentet forteller Access hvilken del av datoen som skal returneres – i dette tilfellet sier "yyyy" at du bare ønsker året i datoen.
3 Datoargumentet forteller Access hvor datoverdien er. I dette tilfellet ber Customers]![BirthDate] Access om å lete etter datoen i feltet Fødselsdato i tabellen Kunder.
Måter å bruke uttrykk på
Du kan bruke uttrykk på følgende måter:
-
Beregne verdier som ikke finnes direkte i dataene. Du kan beregne verdier i feltene i tabeller og spørringer, og du kan også beregne verdier i kontrollene i skjemaer og rapporter.
-
Angi en standardverdi for et tabellfelt eller for en kontroll i et skjema eller en rapport. Disse standardverdiene vises hver gang du åpner en tabell, et skjema eller en rapport.
-
Opprette en valideringsregelfor å styre hvilke verdier brukere kan legge inn i et felt eller kontroll.
-
Definere spørringsvilkår for å begrense resultatene til det ønskede området.
Beregne verdier
En av de vanligste måtene å bruke uttrykk i Access på, er å beregne verdier som ikke uttrykkes direkte i dataene. En kolonne i en tabell eller spørring som er resultatet av en slik beregning, kalles et beregnet felt. Du kan opprette et beregnet felt som kombinerer to eller flere tabellfelt. Mange tabeller lagrer for eksempel fornavn og etternavn i separate felt. Hvis du vil kombinere for- og etternavnene og deretter vise dem i ett enkelt felt, kan du opprette et beregnet felt i en tabell eller spørring:
[FirstName] & " " & [LastName].
I dette tilfellet kombinerer ampersander (&) verdien i feltet FirstName, et mellomrom (et mellomrom i anførselstegn) og verdien i feltet LastName.
Definere en standardverdi
I Access kan du også bruke uttrykk til å angi en standardverdi for et felt i en tabell, eller for en kontroll. Hvis du for eksempel vil angi gjeldende dato som standardverdi for et datofelt, går du til Standardverdi-egenskapsboksen for dette feltet og skriver inn:
Date()
Opprett en valideringsregel
I tillegg kan du bruke et uttrykk til å angi en valideringsregel. Du kan for eksempel bruke en valideringsregel i et kontroll- eller tabellfelt for å kreve at datoen som angis, er senere enn eller lik dagens dato. I så fall angir du verdien i Valideringsregel-egenskapsboksen til:
>= Date()
Definer vilkår for spørring
Til slutt kan du bruke et uttrykk til å angi vilkår for en spørring. Anta for eksempel at du vil se varesalg for ordrene som ble sendt innen en bestemt tidsramme. Du kan angi vilkår til å definere et datointervall, og returnere bare de radene som oppfyller vilkårene. For eksempel kan uttrykket se slik ut:
Between #1/1/2017# And #12/31/2017#
Når du legger til kriterier i spørringen og deretter kjører spørringen, returneres bare de verdiene som samsvarer med angitte datoer.
Eksempler på uttrykk
Tabellen nedenfor viser noen eksempler på Access-uttrykk og hvordan de vanligvis brukes:
Uttrykk |
Formål |
---|---|
=[RequiredDate]-[ShippedDate] |
Beregner differansen mellom datoverdiene i to tekstbokskontroller (kalt Leveringsdato og SendtDato) i en rapport. |
Date() |
Angir standardverdien for et tabellfelt av typen dato/klokkeslett til den gjeldende datoen. |
Between #1/1/2017# And #12/31/2017# |
Angir vilkår for et dato/klokkeslettfelt i en spørring. |
=[Orders Subform].Form!OrderSubtotal |
Returnerer verdien for kontrollen OrdreDelsum i delskjemaet Ordrer på Ordrer-skjemaet. |
>0 |
Angir en valideringsregel for et numerisk felt i en tabell – brukere må angi verdier som er større enn null. |
Noen uttrykk begynner med likhetsoperatoren (=), mens andre ikke gjør det. Når du beregner en verdi for en kontroll på et skjema eller i en rapport, bruker du operatoren = til å starte uttrykket. I andre tilfeller, for eksempel når du skriver inn et uttrykk i en spørring eller i egenskapen Standardverdi eller Valideringsregel i et felt eller en kontroll, bruker du ikke = operatoren hvis du ikke legger til uttrykket i et tekstfelt i en tabell. I noen tilfeller, for eksempel når du legger til uttrykk i spørringer, fjerner Access operatoren = automatisk.
Uttrykkskomponenter
Et uttrykk består av flere mulige komponenter som du kan bruke enten alene eller sammen for å få et resultat. Disse komponentene inkluderer:
-
Identifikatorer Navn på tabellfelter eller kontroller på skjemaer, eller egenskapene for disse feltene eller kontrollene.
-
Operatorer For eksempel + (pluss) eller - (minus).
-
Funksjoner For eksempel SUMMER eller GJSN.
-
Konstanter Verdier som ikke endres, for eksempel strenger med tekst eller tall som ikke beregnes av et uttrykk.
-
Verdier eller tall, for eksempel 1254, som brukes i operasjoner.
Avsnittene nedenfor beskriver disse komponentene nærmere.
Identifikatorer
En identifikator er navnet på et felt, en egenskap eller en kontroll. Du bruker en identifikator i et uttrykk for å referere til verdien som er knyttet til et felt, en egenskap eller en kontroll. Ta for eksempel uttrykket =[RequiredDate]-[ShippedDate]. I dette uttrykket trekkes verdien for ShippedDate-feltet eller -kontrollen fra verdien for RequiredDate-feltet eller -kontrollen. I dette uttrykket fungerer både RequiredDate og ShippedDate som identifikatorer.
Operatorer
Access støtter en rekke operatorer, inkludert vanlige aritmetiske operatorer, for eksempel +, -, * (multiplisere) og / (dele). Du kan også bruke sammenligningsoperatorer som for eksempel < (mindre enn) eller > (større enn) for å sammenligne verdier, tekstoperatorer som & og + for å koble sammen (kombinere) tekst, logiske operatorer som Not og And for å fastslå sanne eller usanne verdier, og andre operatører som er spesifikke for Access.
Funksjoner
Funksjoner er innebygde prosedyrer som kan brukes i uttrykk. Du bruker funksjoner til mange forskjellige operasjoner, for eksempel å beregne verdier, manipulere tekst og datoer og oppsummere data. En mye brukt funksjon er for eksempel DATO, som returnerer gjeldende dato. DATO-funksjonen kan brukes på mange forskjellige måter, for eksempel i et uttrykk som angir standardverdien for et felt i en tabell. I dette eksemplet angis gjeldende dato som standardverdi i feltet hver gang noen legger inn en ny post.
Noen funksjoner krever argumenter. Et argument er en verdi som gir inndata til funksjonen. Hvis en funksjon krever mer enn ett argument, skiller du argumentene med et komma. Ta for eksempel DATO-funksjonen i følgende eksempeluttrykk:
=Format(Date(),"mmmm d, yyyy")
Dette eksemplet bruker to argumenter:
-
Det første argumentet er Date()-funksjonen, som returnerer dagens dato. Når det ikke er noen argumenter, må du allikevel legge til funksjonsparentesen.
-
Det andre argumentet, "mmmm d, yyyy", som er atskilt fra det første argumentet med komma, spesifiserer en tekststreng som forteller FORMATER-funksjonen hvordan den skal formatere den returnerte datoverdien. Vær oppmerksom på at tekststrengen må være omsluttet av anførselstegn.
Dette uttrykket illustrerer også at det ofte er mulig å bruke verdien som returneres av én funksjon som et argument for en annen funksjon. I dette tilfellet fungerer Date() som et argument.
Konstanter
En konstant er et element der verdien ikke endres mens Access kjøres. True, False, og Null er konstanter som ofte brukes i uttrykk.
Verdier
Du kan bruke litterale verdier i uttrykkene, for eksempel tallet 1,254 eller strengen "Angi et tall mellom 1 og 10". Du kan også bruke numeriske verdier, som kan være en serie med tall, inkludert fortegn og et desimaltegn om nødvendig.
Når du bruker tekststrenger som verdier, plasserer du dem i anførselstegn for å sikre at Access tolker dem riktig. I noen tilfeller angir Access anførselstegnene automatisk. Når du for eksempel skriver inn tekst i et uttrykk for en valideringsregel eller spørringsvilkår, omslutter Access tekststrengene med anførselstegn automatisk.
Hvis du vil bruke dato/klokkeslettverdier, omslutter du verdiene med nummertegn (#). For eksempel er #3-7-17#, #7-Mar-17# og #Mar-7-2017# alle eksempler på gyldige verdier. Når Access støter på en gyldig dato/klokkeslettverdi som er omsluttet med #-tegn, behandles verdien automatisk som datatypen Dato/klokkeslett.
Sammenligning av Access-uttrykk og Excel-formler
Access-uttrykk ligner på Excel-formler i og med at begge bruker lignende elementer for å gi et resultat. Både Excel-formler og Access-uttrykk inneholder ett eller flere av følgende:
-
Identifikatorer I Excel er identifikatorer navnene på individuelle celler eller celleområder i en arbeidsbok, for eksempel A1, B3:C6, eller Ark2!C32. I Access er identifikatorer navnene på tabellfelter (for eksempel [Contacts]![First Name]), kontroller på skjemaer eller rapporter (for eksempel Forms![Task List]![Description]) eller egenskapene for disse feltene eller kontrollene (for eksempel Forms![Task List]![Description].ColumnWidth).
-
Operatorer Operatorer I både Access og Excel brukes til å sammenligne verdier eller til å utføre enkle beregninger på dataene. Eksempler inkluderer + (pluss) eller - (minus).
-
Funksjoner I både Access og Excel brukes funksjoner og argumenter til å utføre oppgaver du ikke kan gjøre ved hjelp av operatorer alene – du kan for eksempel finne gjennomsnittet av verdiene i et felt, eller konvertere resultatet av en beregning av et valutaformat. Eksempler på funksjoner er SUMMER og STDAV. Argumenter er verdier som gir informasjon til funksjoner. Både Access og Excel har mange funksjoner du kan velge mellom, men navnene på lignende funksjoner i de to programmene er noen ganger forskjellige. For eksempel tilsvarer GJENNOMSNITT-funksjonen i Excel GJSN-funksjonen i Access.
-
Konstanter I både Access og Excel er konstanter verdier som ikke endrer seg – for eksempel tall som ikke beregnes ved hjelp av et uttrykk.
-
Verdier Verdier brukes på lignende måter i Access og Excel.
Access-uttrykk bruker operatorer og konstanter som ligner på dem som brukes i Excel-formler, men Access-uttrykk bruker forskjellige identifikatorer og funksjoner. Mens Excel-formler vanligvis bare brukes i regnearkceller, brukes Access-uttrykk mange steder i Access til en rekke ulike oppgaver, blant annet følgende:
-
Opprette beregnede kontroller i skjemaer og rapporter
-
Opprette beregnede felter i tabeller og spørringer
-
Fungere som vilkår i spørringer
-
Validere data som skrives inn i et felt, eller i en kontroll på et skjema
-
Gruppere data i rapporter
Du kan bruke et Access-uttrykk eller en Excel-formel til å beregne numeriske verdier eller dato/klokkeslettverdier ved å bruke matematiske operatorer. Hvis du for eksempel vil beregne rabattert pris for en kunde, kan du bruke Excel-formelen =C2*(1-D2) eller Access-uttrykket = [Unit Price]*(1-[Discount]).
Du kan også bruke et Access-uttrykk eller en Excel-formel til å kombinere, dele opp eller på annen måte manipulere tekststrenger ved hjelp av strengoperatorer. Hvis du for eksempel vil kombinere et fornavn og etternavn til én streng, kan du bruke Excel-formelen =D3 & " " & D4 eller Access-uttrykket = [First Name] & " " & [Last Name].