Denne artikkelen forklarer hvordan du oppretter betingede (også kjent som boolske) uttrykk i Access. Et betinget uttrykk evalueres til enten sann eller usann, og returnerer deretter et resultat som oppfyller betingelsen du angir. Hvis du bruker funksjoner i betingede uttrykk, kan du også angi en handling for verdier som ikke oppfyller betingelsen i uttrykket. Du kan for eksempel opprette et uttrykk som finner alle salg med en fortjenestemargin på 10 prosent eller mindre, og deretter angi at disse tallene skal vises i rød type, eller erstatte verdiene med en melding.
I denne artikkelen
Forstå betingede uttrykk
Et betinget uttrykk er en type uttrykk som tester dataene for å se om de oppfyller en betingelse, og deretter utfører en handling avhengig av resultatet. Et uttrykk kan for eksempel se etter datoverdier senere enn en gitt startdato, og deretter vise en feilmelding når du prøver å skrive inn en tidligere dato enn den definerte startdatoen.
Betingede uttrykk tar samme form og bruker samme grunnleggende syntaks som andre uttrykk, og du kan bruke dem på samme måte som du bruker andre uttrykk:
-
For tabellfelt legger du til uttrykket i valideringsregelegenskapen for feltet. Brukere må deretter angi verdier i feltet som samsvarer med betingelsene i uttrykket. Hvis du for eksempel bruker et uttrykk som >=#01.01.2000# i et dato/klokkeslett-felt, må brukere angi verdier som er lik eller senere enn 1. januar 2000.
-
Når det gjelder kontroller i skjemaer, kan du legge til uttrykket i kontrollkilden eller valideringsregelegenskapen for kontrollen. Vanligvis legger du til betingede uttrykk i egenskapen Valideringsregel , og du legger til uttrykk som beregner verdier i egenskapen Kontrollkilde . Hvis du for eksempel bruker >=#01.01.2000# i valideringsregelegenskapen for en kontroll, hindrer du brukere i å skrive inn en ugyldig dato. Hvis du bruker et uttrykk som Date() i egenskapen Kontrollkilde , vises gjeldende dato som standardverdi.
-
For spørringer kan du legge til betingede uttrykk i en tom celle i feltraden , eller du kan bruke et uttrykk i Vilkår-raden i spørringen. Når du bruker et uttrykk i feltraden , vises resultatene som en kolonne i spørringsresultatene. Når du bruker et uttrykk som vilkår for et eksisterende felt, fungerer uttrykket som et filter og begrenser postene som spørringen returnerer.
Du kan for eksempel bruke dette uttrykket i Felt-raden i en spørring: =IIf([Ordredato]<=#04/01/2018#,[Ordredato],"Ordre angitt etter 1. april"). Uttrykket angir et datokriterie (<=#04/01/2018#). Når spørringen kjøres, vises alle datoverdier som oppfyller vilkåret, og eventuelle datoverdier som ikke oppfyller vilkåret, erstattes med meldingen «Ordre angitt etter 1. april». Trinnene i delen Legg til et uttrykk i en spørring forklarer hvordan du bruker dette uttrykket i en spørring.
Hvis du derimot bruker dette uttrykket i Vilkår-feltet i en spørring, returneres bare de postene med datoer som oppfyller vilkåret: Between #01.04.2018# OG #15.05.2018#.
Hvis du vil ha mer informasjon om hvordan du oppretter og bruker uttrykk, kan du se artikkelen Lær hvordan du bygger et uttrykk.
Opprett et betinget uttrykk
Trinnene i denne delen forklarer hvordan du legger til et betinget uttrykk i en tabell, en kontroll i et skjema eller en rapport og en spørring. Hvert sett med trinn bruker et litt forskjellig uttrykk for å teste verdiene i et dato/klokkeslett-felt og utføre handlinger, basert på om datoverdiene oppfyller den angitte betingelsen.
Legge til et uttrykk i et tabellfelt
-
Høyreklikk på tabellen du vil endre, i navigasjonsruten og klikk på Utformingsvisning på hurtigmenyen.
-
Klikk dato/klokkeslett-feltet i datatypekolonnen .
-
Klikk egenskapsboksenValideringsregel på fanen Generelt under Feltegenskaper, og skriv inn følgende uttrykk:
>=#01.01.2000#
Obs!: Du trenger ikke å bruke det amerikanske datoformatet. Du kan bruke datoformatet for landet/området eller den nasjonale innstillingen. Du må imidlertid omslutte datoverdien med nummertegn (#), som vist.
-
Klikk kolonnen ved siden av Valideringstekst , og skriv inn denne tekststrengen:
Datoen må være større enn 1. januar 2000.
Du kan også bruke det lokale datoformatet.
-
Lagre endringene, og bytt til dataarkvisning. Dette gjør du ved å høyreklikke dokumentfanen for tabellen og klikke Dataarkvisning på hurtigmenyen.
-
Skriv inn en datoverdi i Dato/klokkeslett-feltet tidligere enn 1. januar 2000. Access viser meldingen som er angitt i egenskapsboksen Valideringsregel , og du kan ikke forlate feltet med mindre du angir en verdi som uttrykket evalueres som sann.
Legge til et uttrykk i en kontroll
-
Høyreklikk skjemaet du vil endre, i navigasjonsruten, og klikk Utformingsvisning på hurtigmenyen.
-
Høyreklikk en kontroll som er bundet til et dato/klokkeslett-felt, og klikk deretter Egenskaper på hurtigmenyen.
Egenskapsarket for kontrollen vises.
-
Klikk feltet ved siden av Valideringsregel på fanen Data eller Fanen Alle, og skriv inn følgende uttrykk:
>=#01.01.2000#
Obs!: Du trenger ikke å bruke det amerikanske datoformatet. Du kan bruke datoformatet for landet/området eller den nasjonale innstillingen. Du må imidlertid omslutte datoverdien med nummertegn (#), som vist.
-
Klikk kolonnen ved siden av Valideringstekst , og skriv inn denne tekststrengen:
Datoen må være større enn 1. januar 2000.
-
Lagre endringene, og bytt tilbake til skjemavisning. Dette gjør du ved å høyreklikke dokumentfanen for skjemaet og klikke Skjemavisning på hurtigmenyen.
Legge til et uttrykk i en spørring
-
I navigasjonsruten høyreklikker du spørringen som du vil endre, og klikker Utformingsvisning på hurtigmenyen.
-
Klikk en tom celle i Felt-raden i utformingsrutenettet, og skriv inn følgende uttrykk:
=IIf([Field_Name]<=#01.04.2018# , [Field_Name] , "Dato senere enn 1. april 2018")
Når du skriver inn uttrykket, må du passe på at du erstatter begge forekomstene av Field_Name med navnet på Dato/klokkeslett-feltet. Hvis tabellen ikke inneholder datoer før 1. april 2018, kan du også endre datoene i uttrykket for å arbeide med dataene.
-
Lagre endringene, og klikk deretter Kjør for å vise resultatene.
Uttrykket fungerer som følger: Det første argumentet (=IIf([Field_Name]<=#04/01/2018#) angir betingelsen som dataene må oppfylle – datoer må være på eller tidligere enn 1. april 2018. Det andre argumentet ([Field_Name]) angir hva brukerne ser når betingelsen er sann – datoene i feltet. Det tredje argumentet («Dato senere enn 1. april 2018»)) angir meldingen som brukerne ser når dataene ikke oppfyller betingelsen.
Når du fortsetter, må du huske at ikke alle betingede uttrykk bruker IIf-funksjonen . Husk også at IIf-funksjonen er den delen av uttrykket som krever argumentene, og ikke selve uttrykket.
Hvis du vil ha mer informasjon om uttrykk og hvordan du kan bruke dem, kan du se artikkelen Lær hvordan du bygger et uttrykk.
Eksempler på betingede uttrykk
Uttrykkene i tabellen nedenfor viser noen måter å beregne sanne og usanne verdier på. Disse uttrykkene bruker IIf-funksjonen (Immediate If) til å avgjøre om en betingelse er sann eller usann, og deretter returnere én verdi hvis betingelsen er sann og en annen verdi hvis betingelsen er usann.
Se artikkelen IIf Function for mer informasjon.
Uttrykk |
Beskrivelse |
=IIf([Confirmed] = "Yes", "Order Confirmed", "Order Not Confirmed") |
Viser meldingen «Ordre bekreftet» hvis verdien i det bekreftede feltet er Ja. Ellers vises meldingen «Ordre ikke bekreftet». |
=IIf(IsNull([Land/område])," ", [Land/område]) |
Viser en tom streng hvis verdien for Land/område-feltet er Null. Ellers vises verdien for Land/område-feltet. |
=IIf(IsNull([Region]),[City]&" "& [PostalCode], [City]&" "&[Region]&" " &[PostalCode]) |
Viser verdiene i feltene Poststed og Postnummer hvis verdien i Område-feltet er Null. Ellers vises verdiene for feltene Poststed, Område og Postnummer. |
=IIf(IsNull([RequiredDate] - [ShippedDate]), "Check for a missing date", [RequiredDate] - [ShippedDate]) |
Viser meldingen «Se etter en manglende dato» hvis resultatet av å trekke fra verdien i Sendtdato-feltet fra Feltet Leveringsdato er Null. Ellers vises forskjellen mellom verdiene i feltene RequiredDate og ShippedDate. |