Vejledning til udtrykkenes syntaks

Vejledning til udtrykkenes syntaks

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

Komponenter i udtryk

Objekter, samlinger og egenskaber

Identifikatorer

Funktioner, operatorer, konstanter og værdier

Grænsen for indlejring af udtryk i en webdatabase er 65

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 er navnet på et element i sig selv en identifikator. Det gælder, når navnet på elementet er entydigt i forbindelse med det udtryk, du er i gang med at oprette. Resten af identifikatoren er indforstået i den forbindelse. Hvis du f.eks. designer en forespørgsel, der kun bruger én tabel, fungerer feltnavnene alene som identifikatorer, fordi feltnavnene i en tabel skal være entydige i den tabel. Eftersom du kun bruger én tabel, er tabelnavnet indforstået i en hvilken som helst identifikator, du bruger 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]

Id-operatorer    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 anvendes som argumenter for 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 kriterium: <>"". I dette eksempel er <> en operator, og "" er en konstant. Når de bruges sammen, angiver de, at den identifikator, som de anvendes med, skal sammenlignes med en tom streng. Udtrykket, der er resultatet, er sandt, når identifikatorens værdi er noget 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 konstantværdier i dine udtryk, f.eks. tallet 1.254, eller strengen "Skriv et tal mellem 1 og 10". Du kan også bruge numeriske værdier, hvilket kan være en række cifre, herunder et tegn og et decimaltegn, hvis det er nødvendigt. Hvis der ikke er noget tegn, antager Access en positiv værdi. Du gør en værdi negativ ved at medtage minustegnet (-). Du kan også bruge videnskabelig notation. Det gør du ved at "E" eller "e" samt tegnet for eksponenten (f.eks. 1,0E-6).

Når du bruger tekststrenge, skal du placere dem i anførselstegn for at sikre dig, 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 forespørgselskriterier, omgiver Access automatisk dine tekststrenge med anførselstegn.

Hvis du f.eks. skriver teksten Paris, vises "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 brugbare:

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

Hvis du vil bruge værdier for dato/klokkeslæt, skal værdierne omsluttes af nummertegn (#). F.eks. er #3-7-17#, #7-Mar-17# og #Mar-7-2017# alle gyldige dato/klokkeslæt-værdier. Når Access støder på en gyldig dato/klokkeslæt-værdi, der er omgivet af #-tegn, behandles værdien automatisk som en Dato/klokkeslæt-type.

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

Se også

Brug af Udtryksgenerator

Introduktion til udtryk

Generér et udtryk

Eksempler på udtryk

Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×