Vpišite se z Microsoftovim
Vpišite se ali ustvarite račun.
Pozdravljeni,
Izberite drug račun.
Imate več računov
Izberite račun, s katerim se želite vpisati.

Funkcijo Eval lahko uporabite, če želite ovrednotiti izraz, ki vrne besedilni niz ali številsko vrednost.

Ustvarite lahko niz in ga nato podate v funkcijo Eval, kot bi bil niz dejanski izraz. Funkcija Eval ovrednoti izraz niza in vrne njegovo vrednost. Na primer, Eval("1 + 1") vrne 2.

Če v funkcijo Eval podate niz, ki vsebuje ime funkcije, funkcija Eval vrne vrnjeno vrednost funkcije. Na primer, Eval("Chr$(65)") vrne »A«.

Sintaksa

Eval ( nizni izraz )

Argument nizni izraz je izraz, ki je ovrednoten kot alfanumerični besedilni niz. Na primer nizni izraz je lahko funkcija, ki vrne niz ali številsko vrednost. Ali je lahko sklic na kontrolnik v obrazcu. Argument nizni izraz mora biti ovrednoten na niz ali številsko vrednost; ne more biti ovrednoten na Microsoft Accessov predmet.

Opomba: V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Vsebina za razvijalce na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.

Opomba: Če v funkcijo Eval podajate ime funkcije, morate za imenom funkcije v argumentu nizni izraz vključiti oklepaje. Na primer:

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

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

Debug.Print Eval("Date()")

Pripombe

Funkcijo Eval lahko uporabite v izračunani kontrolnik v obrazcu ali poročilu ali v makru ali modulu. Funkcija Eval vrne podatkovni tip Variant, ki je niz ali številski tip.

Argument nizni izraz mora biti izraz, ki je shranjen v nizu. Če v funkcijo Eval podate niz, ki ne vsebuje številskih izrazov ali imen funkcij, ampak le preprost besedilni niz, se Napaka med izvajanjem niz. Če na primer Eval("Smith") prikaže sporočilo o napaki.

Funkcijo Eval lahko uporabite za določanje vrednosti, shranjene v lastnosti Value za kontrolnik. V spodnjem primeru je podan niz, ki vsebuje popoln sklic na kontrolnik v funkciji Eval. Nato se prikaže vrednost kontrolnika v pogovornem oknu.

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))

Funkcijo Eval lahko uporabite za dostop do operatorjev izraza, ki niso običajno na voljo v modulu Visual Basic for Applications (VBA). Na primer, operatorjev SQL Between...And ali In ne morete uporabiti neposredno v kodi, vendar jih lahko uporabite v izrazu, podanem v funkciji Eval.

V naslednjem primeru se ugotavlja, ali je vrednost kontrolnika ShipRegion v obrazcu »Naročila« ena od več določenih kratic držav. Če polje vsebuje eno od kratic, bo intStateTrue (–1). Pri vključevanju niza v drug niz ne pozabite uporabiti enojnih narekovajev (').

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

Primeri poizvedb

Izraz

Rezultati

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

Ovrednoti vrednost niza in izračuna rezultat. Rezultat: 18.

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

Ovrednoti vrednost niza, prepozna funkcije in jih izvede. Rezultat: trenutni sistemski datum + trenutni mesec, prikazan v stolpcu "NewDate".

Primeri VBA

Naslednji primer predvideva, da imate niz 50 funkcij, določenih kot A1, A2 in tako naprej. Ta primer uporablja funkcijo Eval za priklic vseh funkcij v nizu.

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

Naslednji primer sproži dogodek Click, kot bi uporabnik kliknil gumb v obrazcu. Če se vrednost lastnosti OnClick gumba začne z enačajem (=), ki označuje, da gre za ime funkcije, funkcija Eval prikliče funkcijo, ki je enaka sproženju dogodka Click. Če se vrednost ne začne z enačajem, mora vrednost imenovati makro. Metoda RunMacro predmeta DoCmd zažene imenovani makro.

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

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.

Skupnosti vam pomagajo postaviti vprašanja in odgovoriti nanje, posredovati povratne informacije in prisluhniti strokovnjakom z bogatim znanjem.

Vam je bila informacija v pomoč?

Kako ste zadovoljni s kakovostjo jezika?
Kaj je vplivalo na vašo izkušnjo?
Če pritisnete »Pošlji«, bomo vaše povratne informacije uporabili za izboljšanje Microsoftovih izdelkov in storitev. Vaš skrbnik za IT bo lahko zbiral te podatke. Izjavi o zasebnosti.

Zahvaljujemo se vam za povratne informacije.

×