Prijavite se pomoću Microsofta
Prijavi se ili izradi račun.
Zdravo,
Odaberite drugi račun.
Imate više računa
Odaberite račun putem kojeg se želite prijaviti.

Pomoću funkcije Eval možete procijeniti izraz koji rezultira tekstnim nizom ili brojčanom vrijednošću.

Možete stvoriti niz, a zatim ga proslijediti funkciji Eval kao da je niz stvarni izraz. Funkcija Eval procjenjuje vrijednost nizovni izraz vraća njezinu vrijednost. Na primjer, Eval("1 + 1") vraća 2.

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

Sintaksa

Eval ( stringexpr )

Argument stringexpr izraz je koji se vrednuje kao alfanumerički tekstni niz. Nizexpr, primjerice, može biti funkcija koja vraća niz ili brojčanu vrijednost. Ili može biti referenca na kontrola na obrascu. Argument stringexpr mora se vrednovati kao niz ili brojčana vrijednost; ne može se vrednovati kao 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 funkciji Eval prelažete naziv funkcije, nakon naziva funkcije u argument stringexpr morate uvrstiti zagrade . Na primjer:

' 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 koristiti u izračunata kontrola na obrascu ili izvješću ili u makronaredbi ili modulu. Funkcija Eval vraća vrijednost Variant koja je niz ili brojčana vrsta.

Argument stringexpr mora biti izraz koji je pohranjen u nizu. Ako funkciji Eval proslijedite niz koji ne sadrži brojčani izraz ili naziv funkcije, ali samo jednostavan tekstni niz, pojavit će se pogreška pri izvođenju. Primjerice, Eval("Smith") rezultira pogreškom.

Pomoću funkcije Eval možete odrediti vrijednost pohranjenu u svojstvu Vrijednost kontrole. U sljedećem se primjeru niz koji sadrži potpunu referencu na kontrolu prosljeđuje funkciji 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))

Pomoću funkcije Eval možete pristupiti operatorima izraza koji nisu obično dostupni u modulu programa Visual Basic for Applications (VBA). Ne možete, primjerice, koristiti SQL operatore Između... A ili In izravno u kodu, ali ih možete koristiti u izrazu koji je proslijeđen funkciji Eval .

Sljedeći primjer određuje je li vrijednost kontrole ShipRegion na obrascu Narudžbe jedna od nekoliko navedenih skraćenica stanja. Ako polje sadrži jednu od skraćenica, intState true ( –1). Imajte na umu da koristite jednostruke navodnike (') da biste uvrstili niz unutar drugog niza.

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

Primjeri upita

Izraz

Rezultati

SELECT Eval("15+3") AS Izraz1 IZ ProizvodaOdjela GROUP BY Eval("15+3");

Procjenjuje vrijednost niza i izračunava rezultat. Rezultat: 18.

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

Procjenjuje vrijednost niza, određuje funkcije i izvršava ih. Rezultat: trenutni datum sustava + trenutni mjesec, prikazan u stupcu "NoviDatum".

Primjeri VBA-a

U sljedećem se primjeru pretpostavlja da imate niz od 50 funkcija definiranih kao A1, A2 i tako dalje. U ovom se primjeru koristi funkcija Eval za pozivanje svake funkcije u nizu.

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

Sljedeći primjer pokreće događaj Klik kao da je korisnik klikao gumb na obrascu. Ako vrijednost svojstva OnClick gumba počinje znakom jednakosti (=), što znači da je to naziv funkcije, funkcija Eval poziva funkciju, što je ekvivalentno aktivaciji događaja Klik . Ako vrijednost ne počinje znakom jednakosti, vrijednost mora dodijeliti naziv makronaredbi. Metoda RunMacro objekta DoCmd pokreće 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

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?
Ako pritisnete Pošalji, vaše će se povratne informacije iskoristiti za poboljšanje Microsoftovih proizvoda i usluga. Vaš će IT administrator moći prikupiti te podatke. Izjava o zaštiti privatnosti.

Hvala vam na povratnim informacijama!

×