Du kan bruke uttrykk til å gjøre alt mulig med dataene. Du kan for eksempel fastslå hvor mange dager som har gått siden en ordre ble sendt, eller kombinere FirstName og LastName til FullName. Avsnittene under viser deg hvordan du oppretter et uttrykk trinn for trinn.
I denne artikkelen
Beregne verdier for kontroller i skjemaer og rapporter
Når du bruker et uttrykk som datakilde for en kontroll, oppretter du en beregnet kontroll. La oss for eksempel si at du har en rapport som viser flere lageroppføringer, og at du vil opprette en totalsum i bunnteksten som oppsummerer alle linjeelementene i rapporten.
Når du skal beregne totalsummen, plasserer du en tekstbokskontroll i bunnteksten for rapporten og setter deretter egenskapen ControlSource for tekstboksen til følgende uttrykk:
=Sum([table_field])
I dette tilfellet er table_field navnet på feltet som inneholder delsumverdiene. Dette feltet kan komme fra en tabell eller en spørring. Summer-funksjonen beregner totalen for alle verdiene i table_field.
PROSEDYRE
-
Høyreklikk skjemaet du vil endre, i navigasjonsruten, og klikk deretter Oppsettvisning eller Utformingsvisning på hurtigmenyen.
-
Velg kontrollen du vil skrive inn et uttrykk i.
-
Hvis egenskapssiden ikke allerede vises, trykker du F4 for å vise den.
-
Hvis du vil opprette et uttrykk manuelt, velg Kontrollkilde-egenskapen for tekstboksen, på Data-fanen på egenskapsarket. Skriv deretter inn =, etterfulgt av resten av uttrykket. Hvis du for eksempel vil beregne delsummen som vises ovenfor, skriv inn =Sum([table_field]), og kontrollerer at du erstatter navnet på feltet for table_field.
-
Hvis du vil opprette et uttrykk ved hjelp av uttrykksverktøyet, klikker du byggeverktøyknappen i egenskapsboksen.
Når du har laget ferdig uttrykket, vil egenskapssiden se slik ut:
Bruke uttrykk som spørringskriterier
Du bruker vilkår til å begrense spørringsresultatene for en spørring. Du skriver inn vilkåret som et uttrykk, og bare de radene som samsvarer med uttrykket, returneres i Access.
La oss for eksempel si at du vil se alle ordrene som har forsendelsesdato i de tre første månedene i året 2017. Når du skal angi vilkårene, skriver du inn følgende uttrykk i Vilkår-cellen for Dato/klokkeslett-kolonnen i spørringen. Dette eksemplet bruker en Dato/klokkeslett-kolonne kalt ShippedDate. Skriv inn vilkåret på følgende måte for å definere et datoområde:
Between #1/1/2017# And #3/31/2017#
Kolonnen SendtDato ser ut omtrent som beskrevet nedenfor.
Hvis verdien i ShippedDate-kolonnen kommer inn under dato-området du angir, blir oppføringen inkludert i spørringsutdataene for hver oppføring i Ordrer-tabellen. Legg merke til at du skal omslutte datoene i uttrykket med nummertegn (#). I Access behandles en verdi som er omsluttet med nummertegn som datatypen Dato/klokkeslett. Hvis du behandler disse verdiene som dato/klokkeslett-data, kan du utføre beregninger med disse verdiene, for eksempel trekke én dato fra en annen.
PROSEDYRE
-
Høyreklikk spørringen du vil endre, i navigasjonsruten, og klikk deretter Utformingsvisning på hurtigmenyen.
-
Klikk cellen Vilkår i kolonnen som du vil skrive inn vilkår for.
-
Skriv inn vilkårsuttrykket hvis du vil opprette uttrykket manuelt. Ikke sett operatoren = foran vilkårsuttrykket.
-
Hvis du vil opprette uttrykket ved hjelp av uttrykksverktøyet, klikker du på Utforming på båndet, og klikker deretter på Verktøy i gruppen Spørringsoppsett.
Hvis du ønsker å redigere uttrykket i et større område, plasserer du markøren i Vilkår-cellen og trykker deretter SKIFT + F2 for å vise Zoom-boksen:
Tips Hvis du vil gjøre teksten lettere å lese, velger du Skrift.
Opprette et beregnet felt i en spørring
La oss si at du utformer en spørring, og du vil vise resultatene av en beregning som bruker andre felt i spørringen. Når du skal opprette det beregnede feltet, skriver du inn et uttrykk i en tom celle i Felt-raden i spørringen. Hvis du for eksempel har en spørring som inneholder et Antall-felt og et Enhetspris-felt, kan du multiplisere de to for å opprette et beregnet felt for Totalpris ved å skrive inn det følgende uttrykket i Felt-raden for spørringen:
Extended Price: [Quantity] * [Unit Price]
Når du setter teksten Extended Price: foran uttrykket, får den nye kolonnen navnet Totalpris. Dette navnet kalles ofte et alias. Hvis du ikke angir et alias, opprettes det et alias automatisk, for eksempel Expr1.
Når du kjører spørringen, utfører Access beregningen på hver rad, som vist i følgende illustrasjon:
PROSEDYRE
-
Høyreklikk spørringen du vil endre, i navigasjonsruten, og klikk deretter Utformingsvisning på hurtigmenyen.
-
Klikk Felt-cellen i kolonnen der du vil opprette det beregnede feltet.
-
Skriv inn uttrykket hvis du vil opprette det manuelt.
Ikke sett operatoren = foran vilkårsuttrykket, men start i stedet uttrykket med en beskrivende etikett etterfulgt av et kolon. Du kan for eksempel skrive inn Extended Price: for å angi etiketten for et uttrykk som oppretter et beregnet felt kalt Totalpris. Deretter angir du vilkårene for uttrykket etter kolonet.
-
Hvis du vil opprette uttrykket ved hjelp av uttrykksverktøyet, klikker du på Utforming på båndet, og deretter klikker du på Verktøy i gruppen Spørringsoppsett.
Opprette et beregnet felt i en tabell
Du kan opprette et beregnet felt i en tabell i Access. Dette fjerner behovet for en egen spørring til å utføre beregninger. Hvis du har en tabell som viser antall, pris og avgiftssats for hvert element i en ordre, kan du for eksempel legge til et beregnet felt som viser totalprisen, slik som dette:
[Quantity]*([UnitPrice]+([UnitPrice]*[TaxRate]))
Beregningen kan ikke inneholde felt fra andre tabeller eller spørringer, og resultatene av beregningen er skrivebeskyttet.
PROSEDYRE
-
Åpne tabellen ved å dobbeltklikke den i navigasjonsruten.
-
Rull vannrett til kolonnen lengst til høyre i tabellen, og klikk kolonneoverskriften Klikk for å legge til.
-
Klikk på Beregnet felt i listen som vises, og klikk deretter på datatypen du vil bruke på resultatet. Uttrykksverktøyet vises i Access.
-
Skriv inn beregningen du vil bruke for dette feltet, for eksempel:
[Quantity] * [Unit Price]
Uttrykk i et beregnende felt må ikke begynne med et likhetstegn (=).
-
Klikk OK.
Det beregnede feltet legges til, og feltoverskriften utheves slik at du kan skrive inn et feltnavn.
-
Skriv inn et navn for det beregnede feltet, og trykk deretter ENTER.
Angi standardverdier for et tabellfelt
Du kan bruke et uttrykk til å angi en standardverdi for et felt i en tabell – en verdi som i Access brukes for nye poster, med mindre en annen verdi er oppgitt. La oss for eksempel si at du vil sette inn datoen og klokkeslettet automatisk i et felt kalt Ordredato, hver gang noen legger til en ny post. Det kan du gjøre ved å bruke følgende uttrykk:
Now()
PROSEDYRE
-
Dobbeltklikk tabellen du vil endre, i navigasjonsruten.
Tabellen åpnes i dataarkvisning.
-
Velg feltet du vil endre.
-
Klikk Tabellfelt på båndet, og klikk Standardverdi i Egenskaper-gruppen. Uttrykksverktøyet vises i Access.
-
Skriv inn uttrykket i boksen, og sørg for at du starter uttrykket med et likhetstegn (=).
Obs! Hvis du binder en kontroll til et tabellfelt og både kontrollen og tabellfeltet har standardverdier, har standardverdien for kontrollen prioritet over tabellfeltet.
Angi standardverdier for kontroller
Det er også vanlig å bruke uttrykk i egenskapen Standardverdi for en kontroll. Egenskapen Standardverdi for en kontroll fungerer som egenskapen Standardverdi for et felt i en tabell. Hvis du for eksempel vil bruke gjeldende dato som standardverdi for en tekstboks, kan du bruke følgende uttrykk:
Date()
Dette uttrykket bruker Dato-funksjonen til å returnere gjeldende dato, men ikke klokkeslettet. Hvis du binder tekstboksen til et tabellfelt og feltet har en standardverdi, har standardverdien for kontrollen forrang over tabellfeltet. Det er ofte mer fornuftig å angi egenskapen Standardverdi for feltet i tabellen. Hvis du da baserer flere kontroller for ulike skjemaer på det samme tabellfeltet, vil den samme standardverdien gjelde for hver kontroll, noe som gir konsekvent dataregistrering i hvert skjema.
PROSEDYRE
-
Høyreklikk skjemaet eller rapporten du vil endre, i navigasjonsruten, og klikk deretter Utformingsvisning eller Oppsettvisning på hurtigmenyen.
-
Merk kontrollen du vil endre.
-
Hvis egenskapsarket ikke allerede vises, trykker du F4 for å vise den.
-
Klikk kategorien Alle på egenskapsarket, og klikk deretter egenskapsboksen Standardverdi.
-
Skriv inn uttrykket, eller klikk byggeverktøyknappen i egenskapsboksen for å opprette et uttrykk ved hjelp av uttrykksverktøyet.
Legge til en valideringsregel i et tabellfelt eller en post
Uttrykk kan brukes til å validere data idet de legges inn i databasen, slik at det ikke legges inn ugyldige data. Det finnes to typer valideringsregler i tabeller: Feltvalideringsregler som hindrer at brukerne skriver inn ugyldige data i et enkelt felt, og postvalideringsregler som hindrer at brukerne oppretter poster som ikke oppfyller valideringsregelen. Du bruker uttrykk i begge typene valideringsregler.
La oss for eksempel si at du har en tabell som heter Beholdning som inneholder et felt som heter Tilgjengelige enheter, og at du vil angi en regel som tvinger brukerne til å skrive inn en verdi som er større enn eller lik null. Beholdningen kan med andre ord aldri være et negativt tall. Dette gjør du ved å bruke følgende uttrykk som en feltvalideringsregel i feltet Tilgjengelige enheter:
>=0
PROSEDYRE: Skriv inn et felt eller en postvalideringsregel
-
Dobbeltklikk på tabellen du vil endre, i navigasjonsruten. Tabellen åpnes i dataarkvisning.
-
Hvis du vil angi en feltvalideringsregel, merker du feltet du vil endre.
-
Klikk Tabellfelt på båndet, klikk deretter Validering i Feltvalidering-gruppen, og klikk deretter Feltvalideringsregel eller Valideringsregel.Uttrykksverktøyet vises i Access.
-
Begynn å skrive inn vilkårene du vil bruke. Hvis du for eksempel vil angi en feltvalideringsregel som krever at alle verdier er større enn eller lik null, skriver du inn følgende:
>=0
Ikke sett et likhetstegn (=) foran uttrykket.
Valideringsregel-uttrykkene er boolsk, det betyr at de er enten True eller False for en gitt inndataverdi. En valideringsregel må være True for verdien, ellers lagres ikke inndataene i Access, og det vises en valideringsmelding som angir feilen. Hvis du i dette eksemplet angir en verdi for Tilgjengelige enheter-feltet som er mindre enn null, blir valideringsregelen False, og verdien godkjennes ikke i Access. Hvis du ikke har skrevet inn en valideringsmelding som beskrevet under, viser Access sin egen melding for å indikere at verdien du anga er forhindret av valideringsregelen for feltet.
PROSEDYRE: Skrive inn en valideringsmelding
Du kan gjøre databasen enklere å bruke ved å angi egendefinerte valideringsmeldinger. Disse erstatter de generelle meldingene som vises i Access når dataene ikke samsvarer med en valideringsregel. Du kan bruke egendefinerte valideringsmeldinger til å gi spesifikk informasjon som hjelper brukerne med å skrive inn riktige data, for eksempel «Verdien for tilgjengelige enheter kan ikke være et negativt tall».
-
Dobbeltklikk tabellen du vil endre, i navigasjonsruten.
Tabellen åpnes i dataarkvisning.
-
Hvis du vil angi en feltvalideringsmelding, velger du feltet du har lagt til valideringsregelen for.
-
Klikk Tabellfelt på båndet, klikk deretter Validering i Feltvalidering-gruppen, og klikk deretter Feltvalideringsmelding eller Valideringsmelding.
-
Skriv inn meldingen du vil skal vises når dataene ikke samsvarer med valideringsregelen, og klikk deretter OK i dialogboksen Angi valideringsmelding.
Legge til en valideringsregel for en kontroll
I tillegg til tabellfelt og poster har kontroller også en Valideringsregel-egenskap som kan godta et uttrykk. Anta for eksempel at du bruker et skjema til å skrive inn datoområdet for en rapport, og at du vil sikre at startdatoen ikke er før 01.01.2017. Du kan angi egenskapene Valideringsregel og Valideringstekst for tekstboksen der du angir startdatoen til følgende:
Egenskap |
Innstilling |
---|---|
Validation Rule |
>=#1/1/2017# |
Valideringstekst |
Du kan ikke skrive inn en dato før 01.01.2017. |
Hvis du prøver å skrive inn en dato tidligere enn 01.01.2017, vises en melding, og teksten vises i egenskapen Valideringstekst . Hvis det ikke ble skrevet inn tekst i egenskapsboksen Valideringstekst , vises en generell melding i Access. Når du klikker på OK, returneres du til tekstboksen.
Når du angir en valideringsregel for et tabellfelt, tvinges bruk av regelen i hele databasen uansett hvor dette feltet er endret. Alternativt vil angivelsen av en valideringsregel for en kontroll på et skjema bare gjennomføre regelen når dette skjemaet blir brukt. Det kan være nyttig å angi valideringsregler separat for tabellfelt og for kontroller på skjemaer hvis du vil opprette ulike valideringsregler for ulike brukere.
PROSEDYRE
-
Høyreklikk skjemaet eller rapporten du vil endre, i navigasjonsruten, og klikk deretter Utformingsvisning eller Oppsettvisning på hurtigmenyen.
-
Høyreklikk kontrollen som du vil endre, og klikk deretter Egenskaper på hurtigmenyen. Access viser egenskapssiden for kontrollen.
-
Klikk på Alle-fanen, og klikk deretter på egenskapsboksen Valideringsregel.
-
Skriv inn uttrykket, eller klikk byggeverktøyknappen i egenskapsboksen for å opprette et uttrykk ved hjelp av uttrykksverktøyet.
Ikke sett inn operatoren = foran uttrykket.
-
Hvis du vil tilpasse teksten som vises hvis en bruker angir data som ikke samsvarer med valideringsregelen, skriver du inn teksten du vil bruke, i egenskapen Valideringstekst.
Gruppere og sortere data i rapporter
Du bruker ruten Grupper, sorter og summer til å definere grupperingsnivåer og sorteringsrekkefølger for dataene i en rapport. Vanligvis grupperer eller sorterer du på et felt du velger i en liste. Hvis du imidlertid vil gruppere eller sortere etter en beregnet verdi, kan du angi et uttrykk i stedet.
Gruppering er prosessen med å kombinere kolonner som inneholder dupliserte verdier. Tenk deg for eksempel at databasen inneholder salgsinformasjon for kontorer i forskjellige byer, og at én av rapportene i databasen heter "Salg etter by". Spørringen som inneholder dataene for denne rapporten, grupperer dataene etter byverdiene. Denne typen gruppering kan gjøre informasjonen enklere å lese og forstå.
Sortering er derimot prosessen med å angi en sorteringsrekkefølge for radene (postene) i spørringsresultatene. Du kan for eksempel sortere postene etter primærnøkkelverdiene (eller et annet verdisett i et annet felt) i stigende eller synkende rekkefølge, eller du kan sortere postene etter et eller flere tegn i en bestemt rekkefølge, for eksempel alfabetisk rekkefølge.
PROSEDYRE: Legge til gruppering og sortering i en rapport
-
Høyreklikk rapporten du vil endre, i navigasjonsruten, og klikk deretter Oppsettvisning eller Utformingsvisning på hurtigmenyen.
-
Klikk Rapportutforming på båndet, og klikk grupper & sortering i gruppen Grupper & totaler. Ruten Grupper, sorter og summer vises under rapporten.
-
Klikk Legg til en gruppe hvis du vil legge til et grupperingsnivå i rapporten.
-
Hvis du vil legge til en sorteringsrekkefølge i rapporten, klikker du Legg til en sortering.
Et nytt gruppenivå eller en ny sorteringsrekkefølge vises i ruten samt en liste over feltene som angir data for rapporten. Denne illustrasjonen viser et vanlig nytt gruppenivå (grupperer etter kategori) og sorteringsrekkefølge (sorterer etter produsent), samt en liste som inneholder de tilgjengelige feltene for gruppering og sortering:
-
Klikk på uttrykk under listen over tilgjengelige felt for å begynne å bruke uttrykksverktøyet.
-
Skriv inn uttrykket du vil bruke, i uttrykksboksen (den øvre boksen) i uttrykksverktøyet. Pass på at du starter uttrykket med likhetsoperatoren (=).
PROSEDYRE: Legge til et uttrykk i en eksisterende gruppe eller sortering
-
Høyreklikk rapporten du vil endre, i navigasjonsruten, og klikk deretter Oppsettvisning eller Utformingsvisning på hurtigmenyen.
-
Klikk gruppenivået eller sorteringsrekkefølgen du vil endre.
-
Klikk pil ned ved siden av Grupper etter (for grupperingsnivåer) eller Sorter etter (for sorteringsrekkefølger). Det vises en liste som inneholder de tilgjengelige feltene.
-
Klikk på uttrykk nederst i listen som inneholder feltene, for å begynne å bruke uttrykksverktøyet.
-
Skriv inn uttrykket i uttrykksboksen (den øvre boksen) i uttrykksverktøyet. Pass på at du starter uttrykket med likhetsoperatoren (=).
Kontrollere hvilke makrohandlinger som kjøres
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 makro bare skal kjøre når verdien i en tekstboks er større enn eller lik 10. Hvis du vil angi denne regelen, bruker du et uttrykk i en Hvis-blokk i makroen til å definere betingelsen i makroen.
La oss i dette eksemplet si at tekstboksen heter «Elementer». Uttrykket som angir betingelsen, er følgende:
[Items]>=10
PROSEDYRE
-
Høyreklikk makroen du vil endre, i navigasjonsruten, og klikk deretter Utformingsvisning på hurtigmenyen.
-
Klikk Hvis-blokken du vil endre, eller legg til en Hvis-blokk fra Handlingskatalog-ruten.
-
Klikk den øverste linjen i Hvis-blokken.
-
Skriv inn det betingede uttrykket i boksen, eller klikk byggeverktøyknappen ved siden av uttrykksboksen for å begynne å bruke uttrykksverktøyet.
Uttrykket du skriver inn må være boolsk, det betyr at det er enten True eller False. Makrohandlingene i Hvis-blokken kjører bare når betingelsen er True.