Applies ToAccess til Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan bruge funktionen Eval til at evaluere et udtryk, der resulterer i en tekststreng eller en numerisk værdi.

Du kan oprette en streng og derefter videregive den til funktionen Eval, som om strengen var et faktisk udtryk. Funktionen Eval evaluerer strengudtryk og returnerer dets værdi. Eksempelvis returnerer Eval("1 + 1") 2.

Hvis du videregiver en streng, der indeholder navnet på en funktion, til funktionen Eval, returnerer funktionen Eval funktionens returværdi. Eksempelvis returnerer Eval("Chr$(65)") "A".

Syntaks

Eval ( strengudtryk )

Argumentet strengudtryk er et udtryk, der evalueres til en alfanumerisk tekststreng. Eksempelvis kan strengudseere være en funktion, der returnerer en streng eller en numerisk værdi. Eller det kan være en reference til en kontrolelement i en formular. Argumentet strengudtryk skal evalueres til en streng eller numerisk værdi. det kan ikke evalueres til en Microsoft Access-objekt.

Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

Bemærk!: Hvis du videregiver navnet på en funktion til funktionen Eval, skal du medtage parenteser efter funktionens navn i argumentet strengudtryk. Eksempel:

' ShowNames is user-defined function.Debug.Print Eval("ShowNames()")   

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Bemærkninger

Du kan bruge funktionen Eval i et beregnet kontrolelement i en formular eller en rapport eller i en makro eller et modul. Funktionen Eval returnerer en Variant, der enten er en streng eller en numerisk type.

Argumentet strengudtryk skal være et udtryk, der lagres i en streng. Hvis du videregiver en streng til funktionen Eval, som ikke indeholder et numerisk udtryk, eller et funktionsnavn, men kun en simpel tekststreng, opstår der en kørselsfejl. Eksempelvis medfører Eval("Smith") en fejl.

Du kan bruge funktionen Eval til at bestemme den værdi, der lagres i egenskaben Værdi for et kontrolelement. I følgende eksempel videregives en streng, der indeholder en fuld reference til et kontrolelement, til funktionen Eval. Derefter vises den aktuelle værdi af kontrolelementet i en dialogboks.

Dim ctl As ControlDim strCtl As StringSet ctl = Forms!Employees!LastNamestrCtl = "Forms!Employees!LastName"MsgBox ("The current value of " & ctl.Name & _    " is " & Eval(strCtl))

Du kan bruge funktionen Eval til at få adgang til operatorer, der ikke normalt er tilgængelige i et VBA-modul (Visual Basic for Applications). Eksempelvis kan du ikke bruge SQL-operatorerne Between...And eller In direkte i din kode, men du kan bruge dem i et udtryk, der videregives til funktionen Eval.

Det næste eksempel bestemmer, om værdien af kontrolelementet Modtagerområde i en ordreformular er en af flere angivne forkortelser for stater. Hvis feltet indeholder en af forkortelserne, bliver intStateSand (-1). Bemærk, at du bruger enkelte anførselstegn (') til at medtage en streng i en anden tekststreng.

Dim intState As IntegerintState = Eval("Forms!Orders!ShipRegion In " _    & "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Forespørgselseksempler

Udtryk

Resultater

SELECT Eval("15+3") AS Expr1 FROM ProductSales GROUP BY Eval("15+3");

Evaluerer strengværdien og beregner resultatet. Resultat: 18.

SELECT Eval("Date()+month(date())") AS NewDate FROM ProductSales Group by Eval("Date()+month(date())");

Evaluerer strengværdien, identificerer funktionerne og udfører dem. Resultat: aktuel systemdato + aktuel måned, vist i kolonnen "NewDate".

VBA-eksempler

I følgende eksempel forudsættes det, at du har en serie af 50 funktioner defineret som A1, A2 og så videre. I dette eksempel bruges funktionen Eval til at kalde hver funktion i serien.

Sub CallSeries()    Dim intI As Integer    For intI = 1 To 50        Eval("A" & intI & "()")    Next intIEnd Sub

Det næste eksempel udløser en Klik-hændelse , som om brugeren havde klikket på en knap i en formular. Hvis værdien af knappens OnClick-egenskab begynder med et lighedstegn (=), der angiver, at det er navnet på en funktion, kalder funktionen Eval funktionen, hvilket svarer til at udløse klikhændelsen . Hvis værdien ikke starter med et lighedstegn, skal værdien navngive en makro. Metoden KørMakro for objektet DoCmd kører den navngivne makro.

Dim ctl As ControlDim varTemp As VariantSet ctl = Forms!Contacts!HelpButtonIf (Left(ctl.OnClick, 1) = "=") Then    varTemp = Eval(Mid(ctl.OnClick,2))Else    DoCmd.RunMacro ctl.OnClickEnd If

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.