Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Puteți utiliza funcția Eval pentru a evalua o expresie care are ca rezultat un șir text sau o valoare numerică.

Puteți să construiți un șir și apoi să-l transmiteți funcției Evaluare ca și cum șirul ar fi o expresie reală. Funcția Eval evaluează expresie șir și îi returnează valoarea. De exemplu, Eval("1 + 1") returnează 2.

Dacă treceți la funcția Eval un șir care conține numele unei funcții, funcția Eval returnează valoarea returnată a funcției. De exemplu, Eval("Chr$(65)") returnează "A".

Sintaxă

Eval ( stringexpr )

Argumentul stringexpr este o expresie care se evaluează la un șir text alfanumeric. De exemplu, stringexpr poate fi o funcție care returnează un șir sau o valoare numerică. Sau poate fi o referință la un control dintr-un formular. Argumentul stringexpr trebuie să se evalueze la un șir sau la o valoare numerică; nu se poate evalua la un Obiect Microsoft Access.

Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Notă: Dacă transmiteți numele unei funcții funcției Eval , trebuie să includeți paranteze după numele funcției în argumentul stringexpr . De exemplu:

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

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

Debug.Print Eval("Date()")

Observații

Puteți utiliza funcția Eval într-un control calculat dintr-un formular sau raport sau într-o macrocomandă sau într-un modul. Funcția Eval returnează o valoare Variant care este un șir sau un tip numeric.

Stringexpr argument trebuie să fie o expresie stocată într-un șir. Dacă treceți la funcția Eval un șir care nu conține o expresie numerică sau un nume de funcție, ci doar un șir text simplu, apare o eroare la momentul rulării. De exemplu, Eval("Smith") are ca rezultat o eroare.

Puteți utiliza funcția Eval pentru a determina valoarea stocată în proprietatea Valoare a unui control. Următorul exemplu transmite un șir care conține o referință completă la un control pentru funcția Eval . Apoi afișează valoarea curentă a controlului într-o casetă de dialog.

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

Puteți utiliza funcția Eval pentru a accesa operatori de expresii care nu sunt disponibili de obicei într-un modul Visual Basic for Applications (VBA). De exemplu, nu puteți utiliza operatorii SQL Între... Și sau În direct în codul dvs., dar le puteți utiliza într-o expresie transmisă funcției Eval .

Următorul exemplu determină dacă valoarea unui control ShipRegion dintr-un formular Comenzi este una dintre abrevierile de stare specificate. În cazul în care câmpul conține una dintre abrevieri, intState va fi True (–1). Rețineți că utilizați ghilimele simple (') pentru a include un șir într-un alt șir.

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

Exemple de interogare

Expresie

Rezultatele

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

Evaluează valoarea șirului și calculează rezultatul. Rezultat: 18.

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

Evaluează valoarea șirului, identifică funcțiile și le execută. Rezultat: data curentă a sistemului + luna curentă, afișată în coloana "NewDate".

Exemple VBA

Următorul exemplu presupune că aveți o serie de 50 de funcții definite ca A1, A2 și așa mai departe. Acest exemplu utilizează funcția Eval pentru a apela fiecare funcție din serie.

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

Următorul exemplu declanșează un eveniment Clic ca și cum utilizatorul ar fi făcut clic pe un buton dintr-un formular. Dacă valoarea proprietății OnClick a butonului începe cu semnul egal (=), indicând faptul că aceasta este numele unei funcții, funcția Eval apelează funcția, ceea ce este echivalent cu declanșarea evenimentului Click . Dacă valoarea nu începe cu semnul egal, valoarea trebuie să denumiți o macrocomandă. Metoda RulareMacrocomanda obiectului DoCmd rulează macrocomanda denumită.

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

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×