Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

Eval方法的使用

时 间:2017-04-13 09:20:59
作 者:杨雪   ID:42182  城市:南京
摘 要:可以使用 Eval 函数可以计算结果为文本字符串或数值的表达式 (表达式:运算符、字段名、函数、文本和常量的组合,计算结果为单个值。表达式可以指定条件(如 Order Amount>10000),也可以对字段值执行计算(如 Price*Quantity)。)。
正 文:

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

Eval("1 + 1") 返回 2

如果传递给 Eval 函数的字符串包含一个函数的名称,则 Eval 函数会返回函数的值。例如,

Eval("Chr$(65)") 返回“A”。

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

下一个示例用于确定“frmOpen”窗体上“国家”控件的值是‘中国’。如果字段值是‘中国’,则 intState 的值为 True (1)。请注意,使用单引号 (') 将字符串包含在另一个字符串中。

Private Sub 国家_Change()
    Dim intState As Integer
    intState = Eval("Forms!frmOpen!国家  not In ('中国')")
    Me.Check65 = intState
End Sub

 

 

in 类似写法:

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

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

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



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助