Vejledning til udtrykkenes syntaks

Når du arbejder med Microsoft Office Access 2007, kommer du ud for, at du skal bruge værdier, der ikke findes direkte i dine data. Det kan f.eks. være, at du skal beregne moms for en ordre eller det samlede ordrebeløb. Du kan beregne disse værdier ved hjælp af udtryk.

Udtryk skal skrives med den korrekte syntaks, ellers har de ingen effekt. En syntaks er et sæt regler, der angiver, hvordan ordene og symbolerne i et udtryk skal kombineres.

Du skal med andre ord lære at tale programmets sprog, hvis du vil have Access til at udføre bestemte handlinger. Hvis du f.eks. vil give Access følgende besked: "Søg i feltet Fødselsdato i tabellen Kunder, og vis mig kundens fødselsår", kan du skrive følgende udtryk: DatePart("åååå",[Kunder]![Fødselsdato]). Dette udtryk består af funktionen DatePart og to argumentværdier – "åååå" og [Kunder]![Fødselsdato]. 

Lad os kigge lidt nærmere på udtrykket.

Eksempel på et udtryk

1. DatePart er en funktion, der undersøger en dato og returnerer en bestemt del af datoen.

2. Argumentet interval fortæller Access, hvilken del af datoen der skal returneres – i dette tilfælde "åååå", som angiver, at det kun er årstallet, der skal returneres. 

3. Argumentet dato fortæller Access, hvor der skal søges efter datoværdien – i dette tilfælde i [Kunder]![Fødselsdato], dvs. at der skal søges efter datoen i feltet Fødselsdato i tabellen Kunder. 

Det sprog, der benyttes til udtryk i Access, kan i begyndelsen være lidt svært at forstå. Med lidt øvelse og et godt kendskab til udtrykkenes syntaks bliver det imidlertid meget nemmere.

Der er nogle få nøglebegreber, som du skal kende, inden du begynder at skrive udtryk. I denne artikel introduceres disse begreber, og udtrykssyntaksen beskrives nærmere, så du kan lære at bruge den korrekt.

Denne omhandler ikke SQL-syntaks (Structured Query Language) og er heller ikke tænkt som en vejledning til VBA-syntaks (Visual Basic for Applications).

Denne artikel indeholder

Introduktion

Objekter, samlinger og egenskaber

Id'er

Funktioner, operatorer og konstanter

Introduktion

Når du opretter et udtryk, kombinerer du id'er ved hjælp af funktioner, operatorer og konstanter. Et gyldigt udtryk skal indeholde mindst én funktion eller mindst ét id og kan desuden indeholde konstanter og operatorer. Du kan også bruge et udtryk som en del af et andet udtryk – det vil typisk være som et argument til en funktion. 

  • Id'er i udtryk    Id'er i udtryk har følgende generelle form: [Samlingsnavn]![Objektnavn].[Egenskabsnavn].

    Bemærk: Et id skal kun bestå af de dele, der er nødvendige for at gøre det entydigt i den aktuelle udtrykskontekst. Det er ikke ualmindeligt, at et id har formen [Objektnavn].

  • Funktioner i udtryk    Et udtryk, der anvender en funktion, har følgende generelle form: Funktion(argument, argument), hvor det ene argument som regel er et id eller et udtryk.

    Bemærk: Nogle funktioner kræver ikke argumenter.

    Inden du anvender en bestemt funktion, bør du læse den tilhørende artikel i Hjælp for at få oplysninger om denne funktions specifikke syntaks.

  • Operatorer i udtryk    Et udtryk, der anvender en operator, har følgende generelle form: Id operator id. Der er undtagelser fra denne form, som det fremgår af de tabeller, der vises i afsnittet Operatorer.

  • Konstanter i udtryk    Et udtryk, der anvender en konstant, har følgende generelle form: Id sammenligningsoperator konstant.

Toppen af siden

Objekter, samlinger og egenskaber

Alle tabeller, forespørgsler, rapporter og felter i en Access-database er objekter. Alle objekter har et navn. Nogle af objekterne har et foruddefineret navn, f.eks. tabellen Kontaktpersoner i en database, der oprettes vha. skabelonen Kontaktpersoner i Access. Når du opretter et nyt objekt, skal du navngive det.

Objekter af en bestemt type kaldes en samling. Alle tabellerne i en database udgør f.eks. en samling. Nogle af de objekter, der er medlem af en samling i en database, kan selv være samlinger, som indeholder andre objekter – f.eks. er et tabelobjekt en samling, der indeholder feltobjekter.

Objekter har egenskaber, som beskriver og giver mulighed for at ændre objektets karakteristika. Et forespørgselsobjekt har f.eks. egenskaben Standardvisning, der beskriver forespørgslen og giver dig mulighed for at angive, hvordan den skal vises, når du kører den.

I diagrammet nedenfor vises forholdet mellem samlinger, objekter og egenskaber:

Relationer mellem samlinger, objekter og egenskaber

1. En samling

2. Et objekt

3. En egenskab

Toppen af siden

Id'er

Når du bruger et objekt, en samling eller en egenskab i et udtryk, henviser du til dette element ved hjælp af et id. Et id omfatter navnet på det element, som skal identificeres, og navnet på det element, som det tilhører – f.eks. består id'et for et felt af navnet på det pågældende felt og navnet på den tabel, som feltet tilhører. Følgende udtryk er et eksempel på et sådant id: [Kunder]![Fødselsdato].

I nogle situationer fungerer navnet på elementet som et id. Dette er tilfældet, når elementnavnet er entydigt i konteksten, dvs. i forbindelse med det aktuelle udtryk. I så fald er resten af id'et implicit i det angivne elementnavn. Hvis du f.eks. opretter en forespørgsel, der kun anvender én tabel, kan feltnavnet alene fungere som id, fordi feltnavne skal være entydige i den tabel, de forekommer i – og da du kun bruger én tabel, vil tabelnavnet altid være implicit i et id, som henviser til et felt i tabellen.

I andre situationer skal du eksplicit angive de andre dele af id'et, for at henvisningen kan fungere korrekt. Dette er tilfældet, når et id ikke er entydigt i udtrykskonteksten. Du skal medtage de dele af id'et, der er nødvendige for at gøre det entydigt i konteksten. Hvis du f.eks. opretter en forespørgsel, der anvender tabellen Produkter og tabellen Ordrer, og begge disse tabeller indeholder et felt med navnet Produktnr, skal det id, som bruges i forespørgslen til at henvise til ét af Produktnr-felterne, også indeholde tabelnavnet – f.eks. [Produkter]![Produktnr]

Id-operatorer    Der er tre operatorer, som kan bruges i et id.

  • Udråbstegn (!)

  • Punktum (.)

  • Kantparenteser ([ ])

Hvis du vil bruge disse operatorer, skal du indsætte de enkelte dele af id'et i kantparenteser og derefter forbinde dem ved hjælp af et udråbstegn eller et punktum. Et id for feltet Efternavn i en tabel med navnet Medarbejdere kan f.eks. udtrykkes på følgende måde: [Medarbejdere]![Efternavn]. Udråbstegnsoperatoren angiver, at det efterfølgende element er et objekt, der tilhører den samling, som angives foran udråbstegnet. I dette tilfælde er [Efternavn] et feltobjekt, der tilhører samlingen [Medarbejdere], som er et tabelobjekt.

Bemærk: Du behøver strengt taget ikke altid at indtaste kantparenteser omkring et id eller en del af et id. Hvis id'et ikke indeholder mellemrum eller andre specialtegn, tilføjer Access automatisk parenteserne, når udtrykket læses. Det er imidlertid en god ide, at du selv angiver parenteserne – på denne måde kan du undgå fejl og nemmere se, hvilke dele af udtrykket der er et id. 

Toppen af siden

Funktioner, operatorer og konstanter

Ud over id'er skal et udtryk også indeholde en handling. Du kan benytte funktioner, operatorer og konstanter til at udføre handlinger i et udtryk. 

Funktioner

En funktion er en procedure, som kan bruges i et udtryk. Nogle funktioner som f.eks. Date kræver ikke yderligere input for at fungere. De fleste funktioner skal imidlertid tildeles såkaldte argumenter. I eksemplet først i denne artikel anvender funktionen DatePart to argumenter: et argument af typen interval (med værdien "åååå") og et argument af typen dato (med værdien [Kunder]![Fødselsdag]). Funktionen DatePart kræver som minimum disse to argumenter (interval og dato), men den accepterer op til fire argumenter.

Bemærk: Hvis en funktion har mere end ét argument, adskilles disse med kommaer.

På listen nedenfor vises nogle af de mest anvendte funktioner. Hvis du vil have flere oplysninger om en funktion og dens syntaks, skal du klikke på hyperlinket ud for den pågældende funktion.

  • Date Funktionen Date bruges til at indsætte dags dato i et udtryk. Den anvendes ofte i kombination med funktionen Format og sammen med id'er for felter, der indeholder dato- og klokkeslætsdata.

  • DatePart Funktionen DatePart bruges til at bestemme eller udtrække en del af en dato – som regel en dato, der hentes fra et felt-id, men det kan også være en datoværdi, der returneres af en anden funktion, f.eks. Date

  • DateDiff Funktionen DateDiff bruges til at bestemme forskellen mellem to datoer – som regel en dato, der hentes fra et felt-id, og en dato, der hentes ved hjælp af funktionen Date

  • Format Funktionen Format bruges til at formatere id'er og resultater, der er opnået med en anden funktion.

  • IIf Funktionen IIf bruges til at evaluere et udtryk som sandt eller falsk. Der returneres en værdi, som afhænger af, om udtrykket evalueres som sandt eller falsk.

  • InStr Funktionen InStr bruges til at søge efter et tegn eller en streng, der er en del af en anden streng. Den streng, der søges i, hentes som regel fra et felt-id.

  • Left, Mid og Right Disse funktioner bruges til at trække tegn ud af en streng – startende med tegnet yderst til venstre (Left), en bestemt del midt i strengen (Mid) eller tegnet yderst til højre (Right). De bruges ofte sammen med funktionen InStr. Den streng, som tegnene udtrækkes fra, hentes som regel fra et felt-id.

Der findes en oversigt over funktionerne ordnet efter kategori i artiklen Funktioner (ordnet efter kategori).

Operatorer

En operator er et ord eller symbol, der angiver en specifik aritmetisk eller logisk relation mellem de andre elementer i et udtryk. Operatorerne kan være:

  • Aritmetiske operatorer, f.eks. plustegnet (+).

  • Sammenligningsoperatorer, f.eks. lighedstegnet (=).

  • Logiske operatorer, f.eks. Not.

Operatorerne anvendes generelt til at angive relationer mellem to id'er. I tabellerne nedenfor vises de operatorer, der kan bruges i Access-udtryk.

Aritmetiske operatorer    

De aritmetiske operatorer bruges til at beregne en værdi ud fra to eller flere tal eller ændre et tals fortegn fra positivt til negativt.

Operator

Formål

Eksempel

+

Lægger to tal sammen.

[Subtotal]+[Moms]

-

Finder forskellen mellem to tal eller angiver den negative værdi af et tal.

[Pris]-[Rabat]

*

Ganger to tal med hinanden.

[Antal]*[Pris]

/

Dividerer det første tal med det andet tal.

[Total]/[AntalVarer]

\

Afrunder begge tal til heltal og dividerer derefter det første tal med det andet tal. Resultatet afrundes til et heltal.

[Tilmeldte]\[Værelser]

Mod

Dividerer det første tal med det andet tal og returnerer resten.

[Tilmeldte] Mod [Værelser]

^

Opløfter et tal til en eksponent.

Tal ^ Eksponent

Sammenligningsoperatorer    

Sammenligningsoperatorerne bruges til at sammenligne værdier, og de returnerer et resultat, der er sandt, falsk eller Null (en ukendt værdi).

Operator

Formål

<

Bestemmer, om den første værdi er mindre end den anden værdi.

<=

Bestemmer, om den første værdi er mindre end eller lig med den anden værdi.

>

Bestemmer, om den første værdi er større end den anden værdi.

>=

Bestemmer, om den første værdi er større end eller lig med den anden værdi.

=

Bestemmer, om den første værdi er lig med den anden værdi.

<>

Bestemmer, om den første værdi er forskellig fra den anden værdi.

Hvis den første eller anden værdi er Null, vil resultatet i alle tilfælde være Null. Da Null repræsenterer en ukendt værdi, vil en sammenligning med Null give et ukendt resultat.

Logiske operatorer    

Logiske operatorer bruges til at kombinere to værdier, og de returnerer resultatværdien Sand, Falsk eller Null. Logiske operatorer kaldes også for booleske operatorer.

Operator

Brug

Beskrivelse

And

Udtryk1 And Udtryk2

Sand, hvis både Udtryk1 og Udtryk2 er sande.

Or

Udtryk1 Or Udtryk2

Sand, hvis enten Udtryk1 eller Udtryk2 er sandt.

Eqv

Udtryk1 Eqv Udtryk2

Sand, hvis både Udtryk1 og Udtryk2 er sande eller både Udtryk1 og Udtryk2 er falske.

Not

Not Udtryk

Sand, hvis Udtryk ikke er sandt.

Xor

Udtryk1 Xor Udtryk2

Sand, hvis enten Udtryk1 eller Udtryk2 er sandt, ikke hvis begge udtryk er sande.

Sammenføjningsoperatorer    

Sammenføjningsoperatorerne bruges til at kombinere to tekstværdier til én streng.

Operator

Brug

Beskrivelse

&

streng1 & streng2

Kombinerer de to strenge til én streng.

+

streng1 + streng2

Kombinerer de to strenge til én streng og overfører Null-værdier.

Særlige operatorer    

De særlige operatorer bruges som beskrevet i denne tabel.

Operator

Beskrivelse

Yderligere oplysninger

Is Null eller Is Not Null

Bestemmer, om en værdi er Null eller ikke-Null.

Like "mønster"

Sammenligner strengværdier ved hjælp af jokertegnoperatorerne ? og *.

Operatoren Like

Between værdi1 And værdi2

Bestemmer, om en numerisk værdi eller en datoværdi er inden for et interval.

Operatoren Between...And

In(streng1,streng2...)

Bestemmer, om en strengværdi er indeholdt i et sæt af strengværdier.

Operatoren In

Konstanter

En konstant er en kendt værdi, der ikke ændres, og som kan bruges i et udtryk. Følgende fire konstanter anvendes ofte i Access:

  • Sand    Angiver, at noget er sandt i logisk forstand.

  • Falsk    Angiver, at noget er falsk i logisk forstand.

  • Null    Angiver en værdi, som mangler.

  • "" (tom streng)    Angiver, at en værdi er tom.

Konstanter kan anvendes som argumenter til en funktion, og de kan bruges i et udtryk som en del af et kriterium. Du kan f.eks. bruge konstanten for en tom streng ("") som en del af et kriterium i en forespørgsel, der evaluerer feltværdierne i en bestemt kolonne. Dette gøres ved at angive følgende kriterium: <>"". I dette eksempel er <> en operator og "" er en konstant. Når de anvendes sammen, angiver de, at det id, som de er knyttet til, skal sammenlignes med en tom streng. Det resulterende udtryk er sandt, hvis id'ets værdi ikke er en tom streng.

Bemærk: Du skal være forsigtig, når du bruger konstanten Null. I de fleste tilfælde opstår der en fejl, hvis Null anvendes sammen med en sammenligningsoperator. Hvis du vil sammenligne en værdi med Null i et udtryk, skal du bruge operatoren Is Null eller Is Not Null.

Du kan finde flere oplysninger om brugen af udtryk i artiklen Oprette et udtryk.

Toppen af siden

Del Facebook Facebook Twitter Twitter Mail Mail

Var disse oplysninger nyttige?

Fantastisk! Har du mere feedback?

Hvordan kan vi forbedre det?

Tak for din feedback!

×