Funkcija Eval

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

Funkcija Eval možete koristiti da biste procijenili programa izraz čiji je rezultat tekstni niz ili numerička vrijednost.

Možete izgraditi niza i zatim je prenesite funkcija Eval kao da je niz bio stvarni izraz. Funkcija Eval procjenjuje nizovni izraz i vraća vrijednost. Na primjer, Eval("1 + 1") vraća 2.

Ako za funkcija Eval niz koji sadrži naziv funkcije, funkcija Eval vraća povratnu vrijednost funkcije. Na primjer, Eval("Chr$(65)") vraća "A".

Sintaksa

Eval ( stringexpr )

Stringexpr argument je izraz koji se procjenjuje kao alfanumerički tekstni niz. Na primjer, stringexpr može biti funkcija koja vraća niz ili numeričku vrijednost. Ili može biti referenca kontrola na obrascu. Stringexpr argument moraju biti vrednovani niz ili numerička vrijednost. ne može rezultirati objekt programa Microsoft Access.

Napomena : Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.

Napomena : Ako naziv funkcije dodajete funkcije Eval , potrebno je uključiti zagrade iza naziva funkcije u argumentu stringexpr . Ako, na primjer:

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

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

Debug.Print Eval("Date()")

Napomene

Funkcija Eval možete koristiti u izračunata kontrola na obrascu ili izvješću ili na makronaredbe ili module. Funkcija Eval vraća na varijante koja je niz ili numeričke vrste.

Argument stringexpr mora biti izraz koji je pohranjen u nizu. Ako prođete funkcija Eval niz koji ne sadrži numerički izraz ili naziv funkcije, ali samo Jednostavni tekstni niz, pojavljuje se pogreška pri izvođenju . Na primjer, Eval("Smith") rezultira pogreškom.

Funkcija Eval možete koristiti da biste odredili vrijednosti pohranjene u svojstvu vrijednost kontrole. U sljedećem primjeru prosljeđuje niz koji sadrži punu referencu u kontrolu na funkcija Eval . Zatim prikazuje trenutnu vrijednost kontrole u dijaloškom okviru.

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

Funkcija Eval možete koristiti za pristup operatorima izraza koji nisu redovno dostupni u modulu Visual Basic for Applications (VBA). Na primjer, ne možete koristiti SQL operatore između... I ili u izravno u kodu, ali ih možete koristiti u izrazu proslijediti funkciji Eval .

U sljedećem primjeru određuje je li vrijednost kontrole Regijazaisporuku na obrascu narudžbe jedan od nekoliko određenih kratica država. Ako polje sadrži jednu od kratica, intState će biti True (-1). Imajte na umu da koristite jednostrukim navodnicima (') da biste uključili niza unutar drugog niza.

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

Primjer

U sljedećem primjeru podrazumijeva da imate niz 50 funkcije koje se definira kao A1, A2 i tako dalje. U ovom se primjeru koristi funkcija Eval da biste nazvali svake funkcije u nizu.

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

U sljedećem primjeru pokrene u kliknite događaj kao da je korisnik imali nakon klika na gumb na obrascu. Ako je vrijednost argumenta svojstvo OnClick gumba počinju znakom jednakosti (=), koji označava da je naziv funkcije, Eval li funkcija poziva funkciju, koja je jednaka aktiviranju kliknite događaj. Ako je vrijednost ne počinju znakom jednakosti, vrijednost mora imenovati makronaredbu. Metode RunMacro objekta DoCmd izvodi imenovanu makronaredbu.

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 : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×