Funcția Eval

Important : Acest articol este tradus automat, consultați exonerarea de răspundere. Versiunea în limba engleză a acestui articol se poate găsi aici pentru referință.

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

Puteți construi un șir și apoi trece la funcția Eval ca în cazul în care șirul s-au o expresie real. Funcția Eval evaluează expresie șir și returnează valoarea sa. De exemplu, Eval("1 + 1") returnează 2.

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

Sintaxă

Eval ( stringexpr )

Argumentul stringexpr este o expresie care se evaluează la un șir text alfanumerice. De exemplu, stringexpr poate fi o funcție care returnează un șir sau o valoare numerică. Sau poate exista o referință la o control dintr-un formular. Argumentul stringexpr trebuie să se evalueze la un șir sau valoare numerică; nu se evaluează 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ă numele unei funcții sunt care trece la funcția Eval , trebuie să includă 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 în control calculat dintr-un formular sau raport sau într-o macrocomandă sau modul. Funcția Eval returnează o Variant care este un șir sau un tip de numerice.

Argumentul stringexpr trebuie să fie o expresie care sunt stocate într-un șir. Dacă puteți trece la funcția Eval un șir care nu conține o expresie numerică sau numele unei funcții, dar numai un șir text simplu, are loc 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 de control. Următorul exemplu trece un șir care conține o referință complet la un control la funcția Eval . Apoi se afișează valoarea curentă a controlului în caseta 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))

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

Exemplul următor determină dacă valoare nominală pentru un control RegiuneExpediere dintr-un formular comenzi este una dintre mai multe specificat stat abrevieri. Dacă câmpul conține una dintre abrevierile, 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')")

Exemplu

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 lansează un eveniment faceți clic pe ca în cazul în care utilizatorul a făcut clic pe un buton dintr-un formular. Dacă valoarea butonul proprietatea OnClick începe cu semnul egal (=), ceea ce înseamnă că acesta este numele unei funcții, Eval funcția apelurilor funcția, care este echivalent cu declanșarea faceți clic pe eveniment. Dacă valoarea nu începe cu semnul egal, apoi valoarea trebuie să denumiți o macrocomandă. Metoda ExecuțieMacrocomandă a obiectului DoCmd va rula macrocomanda denumite.

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

Notă : Exonerare de răspundere pentru traducere automată: Acest articol a fost tradus de un sistem computerizat, fără intervenție umană. Microsoft oferă aceste traduceri automate pentru a ajuta utilizatorii vorbitori de alte limbi decât engleza să beneficieze de conținutul despre produsele, serviciile și tehnologiile Microsoft. Pentru că articolul a fost tradus de un computer, poate conține erori de vocabular, sintaxă sau gramatică.

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă utilizatorilor Office Insider

Au fost utile aceste informații?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×