access表达式的问题

表达式中...[xxx]![xxx]...中间那个感叹号是干嘛用的?... 表达式中...[xxx]![xxx]...中间那个感叹号是干嘛用的? 展开
 我来答
tjrmgs
2013-03-23 · TA获得超过5764个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1014万
展开全部
能提出这个问题,说明楼主很有心思!今天有空就说详细一点。

对于这个问题其实很多学习ACCESS多年的朋友都没有真正搞清楚。因为不论是ACCESS教科书还是联机帮助都没有特意去说明这个叹号的作用,所以大家一般都不去深入理解它,只是知道ACCESS就是这样子的就好了。

表达式中...[xxx]![xxx]...的中间那个感叹号是表示引用Forms或Reports集合中单个窗体或报表;又或者是引用单个窗体或报表的Controls集合中的一个控件;再或者是引用一个控件的属性。

总之一句话,这个感叹号就是拿来引用窗体集合中某个窗体、控件集合中某个控件或者它们的某个属性的。

引用对象集合的成员有显式和隐式两种方法,其中隐式引用的速度可能会快一些。一般来讲使用叹号而又没有交代“集合”名来引用属性时即为隐式引用。为了更好地理解这个叹号的作用,下面举例予以说明:

假如有一个窗体名叫“MyForm” 里面有一个学生ID文本框控件名称为“StudentID”,一个子窗体“SubForm”,子窗体里有一个课程文本框控件“Course”。

1)
'显式引用MyForm的控件集合Controls(引用窗体里文本框学生ID控件“StudentID”里的内容即其Value属性值)
Forms!MyForm.Controls!StudentID
2)
'隐式引用MyForm的控件集合Controls(引用窗体里文本框学生ID控件“StudentID”里的内容即其Value属性值)
Forms!MyForm!StudentID

如果引用当前窗体内的控件则可以使用 Me 属性代替完整引用,这样处理速度更高一些
3)
'引用当前内的控件
Me.StudentID
4)
'隐式引用当前内的控件
Me!StudentID

引用子窗体内的控件,可以先引用子窗体的Form属性后再进行引用
5)
'显式引用子窗体内的“课程”文本框控件,让该文本框显示字符串“英语”
Forms!MyForm!SubForm.Form.Controls!Course = "英语"
6)
'隐式引用子窗体内的“课程”文本框控件,让该文本框显示字符串“英语”
Forms!MyForm!SubForm.Form!Course = "英语"

一般来说隐式引用速度会快一点,但是也不是任何情况下都可以使用叹号进行隐式引用的,碰到隐式引用出错的情况下改为用点号引用就好了。

例如将当前窗体的标题设置为“学生资料管理”

*** Me!Caption = "学生资料管理" '这样系统会报错
Me.Caption = "学生资料管理" '改用点号就OK了
说啊———喵9779
2015-10-06 · TA获得超过2403个赞
知道小有建树答主
回答量:1034
采纳率:44%
帮助的人:656万
展开全部
!运算符的作用是指出随后为用户定义的内容。使用 ! 运算符可以引用一个开启的窗体、报表或开启窗体或报表上的控件。
例如,引用一个开启的窗体password中名为"用户名"的控件:
Forms![password]![用户名]
还有一个. (点) 运算符
. (点) 运算符通常指出随后为 Microsoft Access 定义的内容。例如,使用 . (点)运算符可以引用窗体、报表或控件等对象的属性。
例如:窗体上有一个名为CmdFind的命令按钮,要设置其有效
CmdFind.Enabled = True
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-03-21
展开全部
应该是取反的意思
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式