Funkcija „Eval“

Funkciju Eval možete da koristite za izračunavanje izraz koje rezultira tekstualnom niskom ili numeričkoj vrednosti.

Možete da napravite nisku i da je prosledite u funkciju Eval kao da je niska pravi izraz. Funkcija Eval procenjuje izraz niske i daje vrednost. Na primer, Eval("1 + 1") daje 2.

Ako u funkciju Eval prosledite nisku koja sadrži ime funkcije, funkcija Eval daje povratnu vrednost funkcije. Na primer, Eval("Chr$(65)") daje "A".

Sintaksa

Eval ( razingispr )

Argument " strogo " je izraz koji daje vrednost alfanumeričke tekstualne niske. Na primer, možete da budete funkcija koja vraća nisku ili numeričku vrednost. Ili može da bude referenca na kontrola u obrascu. Argument ispravnosti mora da proceni nisku ili numeričkoj vrednosti; Ne može da oceni Microsoft Access objekat.

Napomena: Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Za više informacija o radu sa VBA modulom izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite termine u polje za pretragu.

Napomena: Ako prosleđujete ime funkcije u funkciju Eval , morate da dodate zagrade posle imena funkcije u argumentu izvespoređivača. Na primer:

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

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

Debug.Print Eval("Date()")

Napomene

Funkciju Eval možete da koristite u izračunata kontrola u obrascu ili izveštaju ili u makrou ili modulu. Funkcija Eval vraća varijantu koja je niska ili numerički tip.

Razpr argumenata mora da bude izraz koji je uskladišten u niski. Ako u funkciju Eval prosledite nisku koja ne sadrži numerički izraz ili ime funkcije, već samo jednostavnu tekstualnu nisku, pojavljuje se greška izazvana tokom izvršavanja. Na primer, Eval("Smith") rezultira greškom.

Funkciju Eval možete da koristite za utvrđivanje vrednosti uskladištene u svojstvu vrednosti kontrole. Sledeći primer dodaje nisku koja sadrži punu referenca na kontrolu u funkciji Eval . Zatim prikazuje trenutnu vrednost kontrole u dijalogu.

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

Funkciju Eval možete da koristite za pristup operatorima izražavanja koji nisu dostupni u modulu Visual Basic for APPLICATIONS (VBA). Na primer, ne možete da koristite SQL operatore između... I direktno u kodu, ali ih možete koristiti u izrazu koji ste prosledio funkciji Eval .

Sledeći primer određuje da li je vrednost kontrole "administrator" u obrascu "porudžbine" jedna od nekoliko navedenih državnih skraćenice. Ako polje sadrži jednu od skraćenice, intState će biti TRUE (– 1). Imajte na umu da koristite jednostruke navodnike (') da biste u drugu nisku dodali nisku.

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

Primeri upita

Izraz

Rezultati

Izaberite stavku evaluacija ("15 + 3") kao Izraz1 u grupi Proizvoprodaja po proceni ("15 + 3").

Procenjuje vrednost niske i izračunava rezultate. Posledicu: 18.

Izaberite stavku evaluacija ("datum () + month (datum ())") kao NewDate iz grupe proizvoda po proceni (datum () + month (datum ()) ");

Procenjuje vrednost niske, identifikuje funkcije i izvršava ih. Rezultati: trenutni sistemski datum + tekući mesec, prikazan u koloni "novo".

VBA primeri

U sledećem primeru se pretpostavlja da imate seriju 50 funkcija definisanih kao a1, a2 itd. Ovaj primer koristi funkciju Eval da poziva svaku funkciju u grupi.

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

Sledeći primer pokreće događaj klika kao da je korisnik kliknuo na dugme u obrascu. Ako vrednost stavke naklik na dugmetu počinje znakom jednakosti (=), što označava da je to ime funkcije, funkcija Eval poziva funkciju, koja je jednaka sa klikom na događaj. Ako vrednost ne počne znakom jednakosti, onda vrednost mora da bude makro. Metod RunMacro objekta DoCmd pokreće 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

Napomena:  Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li da nam javite da li su informacije bile korisne? Ovo je članak na engleskom jeziku za referencu.​

Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×