Vejledning til udtrykkenes syntaks
Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Når du anvender Microsoft Access, har du tit brug for at arbejde med værdier, som ikke direkte findes i dine data. Hvis du eksempelvis vil beregne momsen for en ordre eller beregne den samlede værdi af selve ordren. Du kan beregne disse værdier ved hjælp af udtryk. Hvis du vil bruge udtryk, skal du skrive dem ved hjælp af korrekt syntaks. Syntaks er et sæt regler, som ordene og symbolerne i et udtryk korrekt kombineres efter. I første omgang er udtryk i Access lidt svære at læse. Men med en god forståelse for udtrykssyntaksen og med lidt øvelse bliver det nemmere.

Denne artikel indeholder

Oversigt over udtryk

Et udtryk er en kombination af nogle eller alle af følgende: Indbyggede eller brugerdefinerede funktioner, identifikatorer, operatorer, værdier og konstanter, der evalueres til en enkelt værdi.

Komponenterne i et udtryk

Følgende udtryk indeholder for eksempel almindelige komponenter:

=Sum([Purchase Price])*0.08 
  • Sum() er en indbygget funktion

  • [Purchase Price] er en identifikator

  • * er en matematisk operator

  • 0.08 er en konstant

Dette udtryk kan bruges i et tekstfelt i en formularfod eller rapportfod til at beregne momsen for en gruppe varer.

Udtryk kan være meget mere komplekse eller meget mere enkle end i dette eksempel. F.eks. består dette Boolesk værdi udtryk kun af en operator og en konstant:

>0

Udtrykket returnerer:

  • True, når det sammenlignes med et tal, der er større end 0.

  • False, når det sammenlignes med et tal, der er mindre end 0.

Du kan bruge dette udtryk i egenskaben Valideringsregel for et kontrolelement eller tabelfelt til at sikre, at der kun indtastes positive værdier. Udtryk bruges mange steder til at udføre beregninger, redigere tegn eller teste data. Tabeller, forespørgsler, formularer, rapporter og makroer har alle egenskaber, der accepterer et udtryk. Du kan for eksempel bruge udtryk i egenskaberne Kontrolelementkilde og Standardværdi for et kontrolelement. Du kan også bruge udtryk i egenskaben Valideringsregel for et tabelfelt.

Tilbage til toppen

Komponenter i udtryk

For at generere et udtryk skal du kombinere identifikatorer ved hjælp af funktioner, operatorer, konstanter og værdier. Et gyldigt udtryk skal indeholde mindst én funktion eller mindst én identifikator og kan også indeholde konstanter eller operatorer. Du kan også bruge et udtryk som en del af et andet udtryk – typisk som argument i en funktion. Dette kaldes at indlejre et udtryk.

  • Identifikatorer    Den generelle formular er:

    [Collection name]![Object name].[Property name]

    Du behøver bare at angive nok dele af en identifikator for at gøre det entydigt i forbindelse med dit udtryk. Det er ikke ualmindeligt, at en identifikator har formularen [Object name].

  • Funktioner    Den generelle formular er:

    Function(argument, argument)

    Et af argumenterne er normalt en identifikator eller et udtryk. Nogle funktioner kræver ingen argumenter. Før du bruger en bestemt funktion, skal du gennemse den funktions syntaks. Få mere at vide under Funktioner (arrangeret efter kategori).

  • Operatorer    Den generelle formular er:

    Identifier operator identifier

    Dette er undtagelserne til denne formular som beskrevet i afsnittet Operatorer.

  • Konstanter    Den generelle formular er:

    Identifier comparison_operator  constant
  • Værdier    Værdier kan forekomme mange forskellige steder i et udtryk.

Tilbage til toppen

Objekter, samlinger og egenskaber

Alle tabeller, forespørgsler, formularer, rapporter og felter i en Access-database kaldes for objekter. Hvert objekt har et navn. Nogle objekter har allerede et navn, f.eks tabellen Kontakter i en database, der er oprettet ud fra skabelonen Kontaktpersoner i Microsoft Office Access. Når du opretter et nyt objekt, skal give du den et navn.

Sættet af alle medlemmer af en bestemt type objekt kaldes en samling. F.eks. er sættet af alle tabeller i en database en samling. Nogle objekter, der er medlem af en samling i databasen, kan også være samlinger, der indeholder andre objekter. F.eks. er en tabelobjekt en samling, der indeholder feltobjekter.

Objekter har egenskaber, som beskriver og gør det muligt at ændre objektets egenskaber. F.eks. har et forespørgselsobjekt egenskaben Standardvisning, der både beskriver og lader dig angive, hvordan forespørgslen vises, når du kører den.

Følgende diagram illustrerer forholdet mellem samlinger, objekter og egenskaber:

Relationer mellem samlinger, objekter og egenskaber

3 En egenskab

2 Et objekt

1 En samling

Tilbage til toppen

Identifikatorer

Når du bruger et objekt, en samling eller en egenskab i et udtryk, henviser du til det pågældende element ved hjælp af en identifikator. En identifikator indeholder navnet på det element, du identificerer og navnet på det element, som elementet hører til. For eksempel indeholder identifikatoren til et felt navnet på feltet og navnet på den tabel, som feltet tilhører. Et eksempel på en sådan identifikator er:

[Customers]![BirthDate]

I nogle tilfælde fungerer navnet på et element selv som en identifikator. Det er tilfældet, når navnet på elementet er entydigt i konteksten af et udtryk, du opretter. Resten af id'et antydes af konteksten. Hvis du f.eks. udformer en forespørgsel, der kun bruger én tabel, fungerer feltnavne alene som identifikatorer, fordi feltnavnene i en tabel skal være unikke i den pågældende tabel. Eftersom du kun bruger én tabel, er navnet på tabellen antydet i et hvilket som helst id, som du kan bruge i forespørgslen til at referere til et felt.

I andre tilfælde skal du være eksplicit om delene af en identifikator for, at en reference skal kunne fungere. Det gælder, når en identifikator ikke er entydig i forbindelse med udtrykket. Når der er tvivl, skal du eksplicit angive nok dele af identifikatoren til at gøre den entydig i konteksten. Lad os antage, at du designer en forespørgsel, der bruger en tabel med navnet Produkter og en tabel med navnet Ordrer, og begge tabeller har et felt med navnet Produkt-id. I så fald skal den identifikator, som du bruger i forespørgslen til at referere til et hvilket som helst af felterne Produkt-id, indeholde tabelnavnet ud over feltnavnet. For eksempel:

[Products]![ProductID]

identifikatoroperatorer    Der er tre operatorer, du kan bruge i en identifikator:

  • Udråbstegn.operatoren (!)

  • Punktum-operatoren (.)

  • Kantet parentes-operatoren ([ ])

Du kan bruge disse operatorer ved at omgive hver del af identifikatoren med kantede parenteser og så sammenkæde dem ved hjælp af en udråbstegn- eller en punktum-operator. Eksempelvis kan en identifikator for et felt med navnet Efternavn i en tabel med navnet Medarbejdere udtrykkes som [Employees]![Last Name]. Udråbstegn-operatoren fortæller Access, at det, der følger efter, er et objekt, der hører til den samling, som kommer før udråbstegn-operatoren. I dette tilfælde er [Efternavn] et feltobjekt, der tilhører samlingen [Medarbejdere], som i sig selv er et tabelobjekt.

Strengt taget behøver du ikke altid at skrive kantede parenteser omkring et id eller et delvist id. Hvis der er ikke er nogen mellemrum eller andre specialtegn i id'et, tilføjer Access automatisk de kantede parenteser, når den læser udtrykket. Det er dog en god idé selv at skrive de kantede parenteser. Dette hjælper dig med at undgå fejl og fungerer også som en visuel ledetråd om, at en bestemt del af et udtryk er et id.

Tilbage til toppen

Funktioner, operatorer, konstanter og værdier

Hvis du vil oprette et udtryk, har du brug for mere end identifikatorer – du skal udføre en handling af en slags. Du kan bruge funktioner, operatorer og konstanter til at udføre handlinger i et udtryk.

Funktioner

En funktion er en procedure, som du kan bruge i et udtryk. Nogle funktioner, f.eks. Dato, kræver ikke input for at virke. Men de fleste funktioner kræver input, kaldet argumenter.

I eksemplet i starten af denne artikel bruger funktionen DatePart to argumenter: et interval-argument med en værdi på "yyyy" og et dato-argument med en værdi på [Customers]![BirthDate]. Funktionen DatePart kræver mindst to argumenter (interval og dato), men de kan acceptere op til fire argumenter.

Følgende liste viser nogle funktioner, der ofte bruges i udtryk. Klik på linket for hver funktion for at få flere oplysninger om den syntaks, du bruger med den pågældende funktion.

  • Funktionen Dato anvendes til at indsætte systemets dags dato i et udtryk. Den anvendes ofte sammen med funktionen Format og også med feltidentifikatorer til felter, der indeholder dato/klokkeslæt-data.

    =Date()
  • Funktionen DatePart anvendes til at bestemme eller udtrække en del af en dato – som regel en dato, der er hentet fra en feltidentifikator, men nogle gange en datoværdi, der returneres af en anden funktion, f.eks. dato.

    DatePart ( "yyyy", Date())
  • Funktionen DateDiff anvendes til at bestemme forskellen mellem to datoer – normalt mellem en dato, der er hentet fra en feltidentifikator, og en dato, der opnås ved hjælp af funktionen Dato.

    =DateDiff(“d”, Now(), [Orders].[ReceiveBefore])-10 
  • Funktionen Format bruges til at anvende et format på en identifikator og resultaterne af en anden funktion.

    Format([Date],"ww")=Format(Now(),"ww")-1 
  • Funktionen IIf anvendes til at evaluere et udtryk som sandt eller falsk og så returnere en værdi, hvis udtrykket evalueres som sandt, og en anden værdi, hvis udtrykket evalueres som falsk.

    =IIf([CountryRegion]="Italy", "Italian", "Some other language")
  • Funktionen InStr anvendes til at søge efter placeringen af et tegn eller streng i en anden tekststreng. Strengen, der søges, hentes normalt fra en feltidentifikator.

    InStr(1,[IPAddress],".")
  • Funktionerne Venstre, Midt og Højre anvendes til at udtrække tegn fra en tekststreng fra og med tegnet længst til venstre (Venstre), en bestemt position i midten (Midt) eller fra og med tegnet længst til højre (Højre). De bruges ofte sammen med funktionen InStr. Den streng, som disse funktioner udtrækker tegn fra, hentes normalt fra en feltidentifikator.

    Left([ProductName], 1)
    Right([AssetCode], 2) 
    Mid([Phone],2,3) 
    

Se en liste over funktioner i Funktioner (arrangeret efter kategori).

Operatorer

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

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

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

  • Logiske, f.eks. Not.

  • Sammenkædende, f.eks. &.

  • Særlige, f.eks. Like.

Operatorer bruges normalt til at angive en relation mellem to identifikatorer. I følgende tabel beskrives de operatorer, du kan bruge i Access-udtryk.

Aritmetiske    

Du bruger de matematiske operatorer til at beregne en værdi ud fra to eller flere tal eller for at skifte tegn på et tal fra positivt til negativt.

Operator

Formål

Eksempel

+

Lægger to tal sammen.

[Subtotal]+[Moms]

-

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

[Pris]-[Rabat]

*

Ganger to tal.

[Antal]*[Pris]

/

Dividerer det første tal med det andet tal.

[Total]/[AntalVarer]

\

Afrunder begge tal til heltal, dividerer det første tal med det andet tal og afrunder derefter resultatet til et heltal.

[Tilmeldte]\[Værelser]

Mod

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

[Tilmeldte] Mod [Værelser]

^

Opløfter et tal til en eksponent.

Tal ^ Eksponent

Sammenlignende    

Du bruger sammenligningsoperatorerne til at sammenligne værdier og returnere et resultat, der enten er sandt, falsk eller Null (en ukendt værdi).

Operator

Formål

<

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

<=

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

>

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

>=

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

=

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

<>

Afgør, om den første værdi ikke er lig med den anden værdi.

I alle tilfælde, hvis den første værdi eller den anden værdi er Null, er også resultatet Null. Fordi Null repræsenterer en ukendt værdi, er resultatet af en hvilken som helst sammenligning med Null også ukendt.

Logiske    

Du bruger de logiske operatorer til at kombinere to værdier og returnere enten resultatet sandt, falsk eller Null. Du ser måske også logiske operatorer blive kaldt for Booleske operatorer.

Operator

Anvendelse

Beskrivelse

And

Udtryk1 og Udtryk2

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

Or

Udtryk1 eller Udtryk2

Sandt, hvis enten Udtryk1 eller Udtryk2 er sandt.

Eqv

Udtryk1 Eqv Udtryk2

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

Not

Ikke udtryk

Sandt, hvis Udtryk ikke er sandt.

Xor

Udtryk1 Xor Udtryk2

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

Sammenkædende    

Du kan bruge sammenføjningsoperatorer til at kombinere to tekstværdier i én streng.

Operator

Anvendelse

Beskrivelse

&

streng1 og streng2

Kombinerer to strenge for at danne én streng.

+

streng1 + streng2

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

Særlige    

Du bruger de særlige operatorer som beskrevet i følgende tabel.

Operator

Beskrivelse

Få mere at vide

Is Null or Is Not Null

Bestemmer, om en værdi er Null eller Not Null.

Like "pattern"

Sammenligner strengværdier ved hjælp af jokertegn-operatorerne ? og *.

Operatoren Like

Between val1 And val2

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

Operatoren Mellem...og

In(string1,string2...)

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

Operatoren In

Konstanter

En konstant er en kendt værdi, der ikke ændres, og som du kan bruge i et udtryk. Der er fire ofte anvendte konstanter i Access:

  • True angiver, at noget er logisk sandt.

  • False angiver, at noget er logisk falsk.

  • Null angiver manglen på en kendt værdi.

  • "" (empty string) angiver en værdi, der er kendt for at være tom.

Konstanter kan bruges som argumenter i en funktion og kan bruges i et udtryk som en del af et kriterium. Du kan f.eks. bruge konstanten tom streng ("") som en del af et kriterium for en kolonne i en forespørgsel til at evaluere feltværdierne for den pågældende kolonne ved at angive følgende som kriteriet: <>"". I dette eksempel er <> en operator, og "" er en konstant. Hvis de bruges sammen, angiver de, at det id, som de anvendes med, skal sammenlignes med en tom streng. Det udtryk, der er resultatet, er sandt, når id-værdien er alt andet end en tom streng.

Vær forsigtig, når du bruger konstanten Null. Hvis du bruger Null sammen med en sammenligningsoperator, vil det i de fleste tilfælde medføre en fejl. Hvis du vil sammenligne en værdi med Null i et udtryk, skal du bruge operatoren Is Null eller Is Not Null.

Værdier

Du kan bruge konstanter i dit udtryk, f.eks tallet 1,254 eller strengen "Angiv et tal mellem 1 og 10". Du kan også bruge numeriske værdier, som kan være en række tal, herunder et tegn og et decimaltegn, hvis det er nødvendigt. I fravær af et tegn antager Access en positiv værdi. Hvis du vil gøre værdien negativ, skal du medtage minustegnet (-). Du kan også bruge videnskabelig notation. Det gør du ved at medtage "E" eller "e" og eksponentens fortegn (f.eks. 1,0E-6).

Når du bruger tekststrenge, kan du placere dem i anførselstegn for at sikre, at Access fortolker dem korrekt. I nogle tilfælde tilføjer Access anførselstegnene for dig. Når du f.eks. skriver tekst i et udtryk til en valideringsregel eller til et forespørgselskriterie, sætter Access automatisk anførselstegn omkring dine tekststrenge.

Hvis du f.eks. skriver teksten Paris, viser Access "Paris" i udtrykket. Ønsker du, at et udtryk skal oprette en streng, der faktisk er omgivet af anførselstegn, skal du sætte den indlejrede streng enten i enkelte (') anførselstegn eller i tre sæt dobbelte (") anførselstegn. Eksempelvis er følgende udtryk tilsvarende:

Forms![Contacts]![City]. DefaultValue = ' "Paris" ' 
Forms![Contacts]![City].DefaultValue = " " "Paris" " " 

For at bruge dato-/klokkeslætsværdier skal du sætte nummertegn (#) omkring værdierne. F.eks. er #3-7-17#, #7-Mar-17# og #Mar-7-2017# alle gyldige værdier for dato/klokkeslæt. Når Access støder på en gyldig dato/klokkeslætværdi, der er omsluttet af #-tegn, behandles værdien automatisk som datatypen dato/klokkeslæt.

Tilbage til toppen

Indlejringsgrænsen for udtryk i en webdatabase er 65

Udtryk indlejret mere end 65 niveauer nede fungerer ikke i browseren, så du bør ikke bruge sådanne udtryk i en Access-webdatabase. Du får ikke fejlmeddelelser – udtrykkene fungerer simpelthen ikke.

Brugen af operatorerne &, AND og OR kan skabe yderligere indlejringsniveauer på serveren, uden at de er afspejlet i Access-klienten. For eksempel er udtrykket "a" & "b" & "c" ikke indlejret i Udtryksgenerator, men i SharePoint bliver det concatenate.Db("a", concatenate.Db("b", "c") ). Denne oversættelse skaber ét indlejringsniveau. Med mange af operatorerne &, AND eller OR efter hinanden i et enkelt udtryk kan det føre til, at du overskrider serverens indlejringsgrænse på 65, hvorefter udtrykket ikke fungerer i browseren.

Tilbage til toppen

Brug af Udtryksgenerator

Introduktion til udtryk

Generér et udtryk

Eksempler på udtryk

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.