Access911.net   |   a9BBS   |   OTaA System  
  搜索文章:  
Access911欢迎您光临  
   主页      上传      繁體版       论坛     
设为首页  |  加入收藏   
  
你现在的位置:文章索引 -> 文章分类 -> 函数  
 首页|  近日更新|  下载  |  文章索引  |  搜索|  术语|  承接工程|  
 
系统正在加载内容,请耐心等待...
 
 查询
 窗体
 报表
 
 
 VBA
 函数
 ADO/DAO/ADO.NET
 API
 ADP
 安全
 发布
 OA
 ASP/ASP.NET
 其他语言
 控件
 DELPHI
 C#/.Net
 本站
 其他
 小例程
 常用软件
 参考文档
 业主作品
 网友大作
 
 
友情链接
 access911.net
 
访问人次
 1702562
 
站长 E-Mail
 net911@sina.com
 access911@gmail.com
 
RSS 订阅

显示附加信息 >>>

如何根据字符串表达式,计算出结果?

作者:cg1  摘自:access911.net  :cg1  更新日期:2003-3-28  浏览人次:

 

字符串"10*20*30",用那个函数让他计算为6000?
dim x
x="10*20*30"
debug.print eval(x)
'debug.print Evaluate(x)  '以前版本

eval帮助如下:

 
Eval 函数
        

使用 Eval 函数能够计算表达式的值,结果是文本字符串或数值。

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

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

语法

Eval(stringexpr)

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

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

' ShowNames 是用户自定义函数。
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')")

 

 
相关文章
     没有手动相关文章
     Coolite Click Handler中无法使用数据绑定表达式语法
     如何描述“条件表达式”这个概念?
     如何填写“默认值”属性?默认值属性能否使用表达式?
     如何得到字串的真实长度,中文算2个字符,英文算1个
     如何解决动网UBB代码同一标签无法多次使用的问题,有关正则表达式
     怎样取得一个字符串在另外一个字符串中出现的次数? 
     存储过程能否返回两个结果集?
     新手来看:设计表的时候怎么定义计算列?
     如何保存子窗体的动态查询结果(保存子窗体数据)?
 
评论
     查看或发表更多的评论,请单击这里。
 
 
 
 
 
   
  Access911.net   |   a9BBS   |   OTaA System   |
建站日期:2000年4月2日  |  设计施工:陈格 ( access911 & cg1 )
 Copyright © 2000 - 2003 COMET, 陈格 保留所有权利