Access VBA教程:Eval方法

使用 Eval函数可以计算结果为文本字符串或数值的表达式。Variant 型。

expression.Eval(StringExpr)

expression   必需。返回“Applies To”列表中的一个对象的表达式。

StringExpr  必需 String 型。stringexpr参数是值为字母数字文本字符串的表达式。例如,stringexpr 可以是返回字符串或数值的函数,也可以是对窗体上控件的引用。stringexpr参数的值必须是字符串或数值,不能是Microsoft Access对象。

说明

可以构造一个字符串然后把它传递给 Eval 函数,就像字符串是一个真正的表达式一样。Eval函数将计算字符串表达式并返回值。例如,Eval("1 + 1") 返回 2。

如果传递给 Eval函数的字符串包含一个函数的名称,则 Eval函数会返回函数的值。例如,Eval("Chr$(65)") 返回“A”。

注意   如果将函数名传给 Eval函数,则必须在 stringexpr参数中的函数名后加上括号。例如:


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

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

Debug.Print Eval("Date()")

可以在窗体或报表、宏或模块中的计算控件使用 Eval函数。Eval函数将返回一个字符串或数值类型的Variant。

参数 stringexpr 必须是存储在字符串中的表达式。如果传递给 Eval函数的字符串不包含数值表达式或函数名称,而仅仅是一个简单的文本字符串,则会出现运行时错误。例如,Eval("Smith") 就会产生错误。

使用 Eval函数可以决定控件的Value属性中所包含的值。下面的示例将一个包含对控件的完整引用的字符串传递给 Eval函数,然后在对话框中显示该控件的当前值。


Dim ctl As Control, strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & " is " & Eval(strCtl))

可以使用 Eval函数访问那些通常在 Visual Basic 中不可用的表达式运算符。例如,不能在代码中直接使用 SQL 运算符 Between...And 或 In,但是可以在传递给 Eval函数的表达式中使用它们。

下一个示例用于确定“订单”窗体上“货主地区”控件的值是否为几个特定的州缩写名称中的一个。如果字段中包含其中一个缩写名称,则intState 的值为 True(-1)。请注意在示例中使用单引号 (') 将字符串包含在另一个字符串中。


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

上页:Access VBA教程:Echo方法 下页:Access VBA教程:ExportXML方法

Access VBA教程:Eval方法

Access VBA教程:ExportXML方法 Access VBA教程:Find方法
Access VBA教程:FirstPage、LastPage、NextPage、PreviousPage方法 (Snapshot Viewer) Access VBA教程:Follow方法
Access VBA教程:FollowHyperlink方法 Access VBA教程:GetHiddenAttribute方法
Access VBA教程:GetOption方法 Access VBA教程:GoToPage方法
Access VBA教程:GUIDFromString方法 Access VBA教程:HyperlinkPart方法
Access VBA教程:ImportXML方法 Access VBA教程:InsertLines方法
Access VBA教程:InsertText方法 Access VBA教程:Item方法
Access VBA教程:Line方法 Access VBA教程:Modify方法
Access VBA教程:Move方法 Access VBA教程:NewAccessProject方法
Access VBA教程:NewCurrentDatabase方法 Access VBA教程:Nz函数
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号