Funkcija Eval

Svarīgi! :  Šis raksts ir mašīntulkots, skatiet atrunu. Lūdzu, skatiet šī raksta versiju angļu valodā šeit jūsu informācijai.

Funkcija Eval var izmantot, lai novērtētu izteiksme , kuras rezultāts ir teksta virkne vai skaitliskā vērtība.

Varat izveidot virkni un pēc tam nododiet to funkcija Eval , it kā virkne būtu faktisko izteiksmes. Funkcija Eval novērtē virknes izteiksme un atgriež tās vērtību. Piemēram, Eval("1 + 1") atgriež 2.

Ja pārvietojat funkcijai Eval virkne, kurā ir funkcijas nosaukums, funkcija Eval atgriež funkcijas atgriezto vērtību. Piemēram, Eval("Chr$(65)") atgriež "A".

Sintakse

Eval ( virknes_izteiksme )

Arguments virknes_izteiksme ir izteiksme, kas izteikta kā burtciparu teksta virkne. Piemēram, virknes_izteiksme var būt funkcija, kas atgriež virkni vai skaitlisku vērtību. Vai tas var būt atsauce uz vadīkla formā. Arguments virknes_izteiksme ir jānovērtē ar virkni vai skaitlisku vērtību; to nevar novērtēt Microsoft Access objekts.

Piezīme : Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.

Piezīme : Ja funkcijai Eval , kas iet funkcijas nosaukums, pēc nosaukuma funkcijas argumentā virknes_izteiksme jāiekļauj iekavas. Piemēram:

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

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

Debug.Print Eval("Date()")

Piezīmes

Varat izmantot funkciju Evalaprēķinātās vērtības vadīkla formā vai atskaitē vai makro vai modulis. Funkcija Eval atgriež variants, kas ir vai nu virkne vai skaitlisku tipu.

Arguments virknes_izteiksme jābūt izteiksmei, kas glabājas virknē. Ja pārvietojat funkcijai Eval virkne, kas nav skaitliska izteiksme vai funkcijas nosaukuma, bet tikai vienkārša teksta virkni, parādās izpildes laika kļūda . Piemēram, Eval("Smith") rezultātā veidojas kļūda.

Funkciju Eval var izmantot, lai noteiktu glabātās vērtības rekvizīts Vadīklas vērtības. Tālāk sniegtajā piemērā norādītais virkne, kurā ir pilna atsauce uz vadīklu, lai funkcija Eval . Dialoglodziņā tiek parādītas vadīklas pašreizējo vērtību.

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 var izmantot, lai piekļūtu izteiksme operatorus, kas nav pieejami parasti modulī Visual Basic for Applications (VBA). Piemēram, nevar izmantot SQL operatorus starp... Un vai programmā tieši programmā savu kodu, bet tās var izmantot izteiksmes nodoti Eval funkciju.

Nākamajā piemērā nosaka, vai pasūtījumu forma vadīklai ShipRegion vērtība ir viens no vairākiem norādītajā stāvoklī saīsinājumiem. Ja lauks satur vienu no saīsinājumiem, intState būs True (-1). Ņemiet vērā, ka izmantot vienpēdiņās ('), lai virkni iekļautu citā virknē.

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

Piemērs

Tālāk sniegtajā piemērā tiek pieņemts, ka 50 funkciju sērija ir definēta kā A1, A2 un tā tālāk. Šajā piemērā izmantota funkcija Eval , lai zvanītu katrai funkcijai sērijā.

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

Nākamajā piemērā izraisa noklikšķiniet uz notikuma, ja lietotājs bija noklikšķinājāt uz pogas formas. Ja poga rekvizīts OnClick vērtība sākas ar vienādības zīmi (=), kas nozīmē, ka tas ir funkcijas, Eval nosaukums funkcija zvana funkciju, kas ir ekvivalenta izraisot noklikšķiniet uz notikuma. Ja vērtība nesākas ar vienādības zīmi, tad vērtībai ir jābūt makro nosaukumam. Objekta DoCmd metodi RunMacro tiek izpildīts makro ar nosaukumu.

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

Piezīme : Mašīntulkošanas atruna. Šo rakstu ir tulkojusi datorsistēma bez cilvēka iejaukšanās. Microsoft piedāvā šos mašīntulkojumus, lai palīdzētu angliski nerunājošajiem lietotājiem izmanot saturu par Microsoft produktiem, pakalpojumiem un tehnoloģijām. Tā kā šis raksts ir mašīntulkots, tajā var būt leksikas, sintakses un gramatikas kļūdas.

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×