Logg på med Microsoft
Logg på eller opprett en konto.
Hei,
Velg en annen konto.
Du har flere kontoer
Velg kontoen du vil logge på med.

Du kan bruke Eval-funksjonen til å evaluere uttrykk verdi som resulterer i en tekststreng eller en numerisk verdi.

Du kan konstruere en streng og deretter sende den til eval-funksjonen som om strengen var et faktisk uttrykk. Eval-funksjonen evaluerer verdien strenguttrykk returnerer verdien. Hvis du for Eval("1 + 1") returnerer 2.

Hvis du sender en streng som inneholder navnet på en funksjon, til Eval-funksjonen, returnerer Eval-funksjonen returverdien for funksjonen. Hvis du for Eval("Chr$(65)") returnerer du "A".

Syntaks

Eval ( stringexpr )

Argumentet strenguttrykk er et uttrykk som evalueres til en alfanumerisk tekststreng. Strenguttrykk kan for eksempel være en funksjon som returnerer en streng eller en numerisk verdi. Det kan også være en referanse til en kontroll i et skjema. Argumentet strenguttrykk må evalueres til en streng eller numerisk verdi. den kan ikke evalueres til et Microsoft Access-objekt.

Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

Obs!: Hvis du sender navnet på en funksjon til Eval-funksjonen, må du ta med parenteser etter navnet på funksjonen i strengekspr-argumentet. Eksempel:

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

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

Debug.Print Eval("Date()")

Merknader

Du kan bruke Eval-funksjonen i en beregnet kontroll skjema eller rapport, eller i en makro eller modul. Eval-funksjonen returnerer en variant som er enten en streng eller en numerisk type.

Argumentstrengenexpr må være et uttrykk som er lagret i en streng. Hvis du sender til Eval-funksjonen en streng som ikke inneholder et numerisk uttrykk eller et funksjonsnavn, men bare en enkel tekststreng, kjøretidsfeil forekommer. Hvis du Eval("Smith") , fører det for eksempel til en feil.

Du kan bruke Eval-funksjonen til å bestemme verdien som er lagret i Value-egenskapen for en kontroll. Følgende eksempel sender en streng som inneholder en fullstendig referanse til en kontroll, til eval-funksjonen. Den viser deretter gjeldende verdi for kontrollen i en dialogboks.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Du kan bruke Eval-funksjonen til å få tilgang til uttrykksoperatorer som vanligvis ikke er tilgjengelige i en Vba-modul (Visual Basic for Applications). Du kan for eksempel ikke bruke SQL-operatorene Between ... Og eller In direkte i koden, men du kan bruke dem i et uttrykk som sendes til Eval-funksjonen.

Det neste eksemplet bestemmer om verdien til en forsendelseskontroll i et Ordre-skjema er én av flere bestemte forkortelser for delstater. Hvis feltet inneholder en av forkortelsene, vises intStateSann (–1). Vær oppmerksom på at du bruker enkle anførselstegn (') for å inkludere en streng inni en annen streng.

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

Eksempler på spørring

Uttrykk

Resultater

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

Evaluerer strengverdien og beregner resultatet. Resultat: 18.

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

Evaluerer strengverdien, identifiserer funksjonene og utfører dem. Resultat: gjeldende systemdato + gjeldende måned, vist i kolonnen «Nydato».

VBA-eksempler

Det følgende eksemplet forutsetter at du har en serie med 50 funksjoner definert som A1, A2 og så videre. Dette eksemplet bruker Eval-funksjonen til å kalle hver funksjon i serien.

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

Det neste eksemplet utløser en Klikk-hendelse som om brukeren hadde klikket på en knapp i et skjema. Hvis verdien til knappens OnClick-egenskap begynner med et likhetstegn (=), som angir at det er navnet på en funksjon, kaller Eval-funksjonen funksjonen for funksjonen, som tilsvarer utløsing av Click-hendelsen. Hvis verdien ikke starter med et likhetstegn, må verdien gi navn til en makro. Metoden RunMacro for DoCmd-objektet kjører den navngitte makroen.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If

Trenger du mer hjelp?

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Microsoft Office Insider-deltakere

Var denne informasjonen nyttig?

Hvor fornøyd er du med språkkvaliteten?
Hva påvirket opplevelsen din?

Takk for tilbakemeldingen!

×