ACCESS表达式中的叹号“!”和点号“.”的区别

iamlaosong文

对于这两者的差别一直很模糊,只是凭感觉使用,碰到不对再调整,我想大部分人应该都是这样,为了搞清楚这个问题,我也看了不少资料,包括本站上的一些资料,但说的都不是很清楚。一般来说就是句点是属性和方法,而感叹号表示的是集合和用于表达式。今天网上看到一个说法,将两者之间的差别说的很清楚,虽然不是那么绝对,因为很多情况下两者都可以用,没什么差别,但按照这种分法,今后再也不会不知道怎么用了,这样很好。

这个方法就是在标识符中使用 ! 和 .(点)运算符可以指示随后将出现的项目类型,按类型决定使用哪一个符号。
1、"! "运算符指出随后出现的是用户定义项(集合中的一个元素)。
例如,使用 ! 运算符可以引用一个打开着的窗体、报表,或打开着的窗体或报表上的控件。
    rst!Operator = GetParameter("Current User Username")
    rst!OperTime = Now()
    Me!SndCity.RowSource = "Select distinct Sndcity FROM tblHubPrice"
    Me!LoadTo = Null
***注意:"!"用于引用用户定义的项,例如用户创建的窗体、控件等***

2、"."点号运算符通常指出随后出现的是 Microsoft Access 定义的项。
例如,使用 .(点)运算符可以引用窗体、报表或控件的属性。另外,还可以使用 .(点)运算符引用 SQL 语句中的字段值、Microsoft Visual Basic for Applications 方法或某个集合。
    rst.Update
    rst.Close
    rst.AddNew
    DoCmd.Close
***注意:"."用于引用系统内部定义的项,例如各种属性、方法等***

编程的时候用"."点号有个好处,系统能提示后面可以跟的内容。

最后,再强调一下,很多情况下二者是通用的,用哪个都可以。例如Me!SndCity和Me.SndCity就都可以,但建议按上面的方法用Me!SndCity。

唉,说了半天,还是一笔糊涂账啊!

关于二者的区别,还看到下面一种说法,我觉得很有道理:

句号和感叹号最大的区别在解析时间。

如果用句号,那么就是早期绑定,也就是在VBA编译的时候就进行解析,因此你可以用智能提示。

用感叹号则是运行时绑定,也就是运行时解析。

因此理论上来说,句号的性能应该比感叹号要好,原因就是句号是早期绑定。但是目前还没人能写项目代码多到可以区别出句号和感叹号的性能差异。

以下示例你可以试验一下:

          form_窗体名.一个根本不存在的控件名

上述这种语句是根本无法编译通过的。

          form_窗体名!一个根本不存在的控件名

上述这句却可以编译通过。

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值