access编程-操作(宏)[3]
时 间:2009-03-18 08:43:46
作 者:UMVsoft资料 ID:11 城市:上海 QQ:3002789054
摘 要:Access编程-操作(宏)
正 文:
CancelEvent 操作[3]
使用 CancelEvent 操作可以取消一个事件,该事件在取消前用于引发 Microsoft Access 执行后来包含该操作的宏。宏名称即为事件属性的设置,如 BeforeUpdate、OnOpen、OnUnload 或 OnPrint。
CancelEvent 操作没有任何参数。
在窗体中,通常在包含 BeforeUpdate 事件属性的验证宏中使用 CancelEvent 操作。当用户在控件或记录中输入数据时,Access 将在向数据库添加这些数据之前先运行该宏。如果数据不符合宏中的验证条件,CancelEvent 操作便会在更新过程开始之前取消更新。
通常都是将该操作和 MsgBox 操作一起使用,以指出数据不符合验证条件,并提供关于应该输入的数据类型的有用信息。
使用 CancelEvent 操作可以取消下列事件:
ApplyFilter |
BeforeDelConfirm |
BeforeInsert |
BeforeUpdate |
DblClick |
Delete |
Dirty |
NoData |
Exit |
MouseDown |
Filter |
Open |
KeyPress |
Unload |
Format |
Print |
注意 可以将 MouseDown 事件与 CancelEvent 操作一起使用,以取消在对象上单击鼠标右键时发生的事件。
如果在某个控件的 OnDblClick 事件属性的设置中指定了一个包含 CancelEvent 操作的宏,该操作便会取消 DblClick 事件。
对于可以被取消的事件,事件的默认行为(即 Access 在事件发生时通常所做的操作)在事件的宏运行之后发生。这使得您可以取消默认行为。例如,当双击文本框中包含插入点的单词时,Access 通常会选定该单词。可以在 DblClick 事件的宏中取消这种默认行为,转而执行某个其他操作,例如打开一个窗体,显示有关文本框中数据的信息。对于不能被取消的事件,默认行为在宏运行之前便会发生。
注意 如果某窗体的 OnUnload 事件属性指定了一个执行 CancelEvent 操作的宏,则不能关闭该窗体。若要关闭窗体,必须更正引起 CancelEvent 操作执行的条件,或者打开宏并删除 CancelEvent 操作。如果窗体是模式窗体,则不能打开该宏。
若要在 Visual Basic 中执行 CancelEvent 操作,可使用 DoCmd 对象的 CancelEvent 方法。
下面的验证宏检查在“供应商”窗体中输入的邮政编码。它显示 StopMacro、MsgBox、CancelEvent 及 GoToControl 操作的使用方法。条件表达式用于检查在该窗体上记录中输入的国家/地区和邮政编码。如果邮政编码不符合其国家/地区的正确格式,宏将显示消息框,并取消对记录的保存。然后您将返回到“邮政编码”控件并可以在那里改正错误。该宏应附加到“供应商”窗体的 BeforeUpdate 属性。
条件 |
操作 |
参数:设置 |
备注 |
IsNull([国家/地区]) |
StopMacro |
|
如果“国家/地区”为 Null,就无法验证邮政编码。 |
[国家/地区] In ("法国","意大利","西班牙") And Len([邮政编码]) <> 5 |
MsgBox |
消息:邮政编码必须为 5 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不是 5 个字符,则会显示消息。 |
... |
CancelEvent |
|
取消事件。 |
|
GoToControl |
控件名称:邮政编码 |
|
[国家/地区] In ("澳大利亚","新加坡") And Len([邮政编码]) <> 4 |
MsgBox |
消息:邮政编码必须为 4 个字符。 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不是 4 个字符,则会显示消息。 |
... |
CancelEvent |
|
取消事件。 |
|
GoToControl |
控件名称:邮政编码 |
|
([国家/地区] = "加拿大") And ([邮政编码] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MsgBox |
消息:邮政编码无效。加拿大编码示例:H1J 1C3 发嘟嘟声:是 类型:信息 标题:邮政编码错误 |
如果邮政编码不符合加拿大的有效格式,则会显示消息。(加拿大编码示例:H1J 1C3) |
... |
CancelEvent |
|
取消事件。 |
Close 操作
使用 Close 操作可以关闭指定的 Microsoft Access 窗口,或者,如果没有指定窗口,则关闭活动窗口。
Close 操作具有以下参数:
操作参数 |
说明 |
对象类型 |
要关闭的窗口的对象类型。可以在“宏”窗口“操作参数”节的“对象类型”框中选择“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。如果要选择活动窗口,那么将该参数留空。 |
对象名称 |
要关闭的对象名称。“对象名称”框中显示了数据库中由“对象类型”参数所选择的全部对象。单击该对象即可关闭它。如果“对象类型”参数为空,将该参数留空。 |
保存 |
决定关闭时是否要保存对对象的更改。可选择“是”(保存对象)、“否”(关闭对象而不保存)或“提示”(提示用户是否要保存对象)。默认值为“提示”。 |
对于用户可以明确地打开或关闭的所有数据库对象,都可以使用 Close 操作来关闭。该操作与下列行为的效果类似:即选择对象然后单击“文件”菜单上的“关闭”,单击对象窗口的“控制”菜单上的“关闭” 或单击对象的“关闭”按钮
如果“保存”参数设置为“提示”,并且在 Close 操作执行之前,对象尚未保存,那么在宏关闭对象之前将显示对话框以提示用户保存对象。如果将 SetWarnings 操作的“打开警告”参数设置为“否”,将不显示对话框,并且自动保存对象。
若要在 Visual Basic 中运行 Close 操作,请使用 DoCmd 对象的 Close 方法。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)
- 微软Access邀测新Monaco...(11.12)
- Access列表框左右互选、列表框...(11.11)
- 高效率在导入数据前删除记录(11.10)
- Access报价单转订单示例代码(11.08)
- Access系统自带的日期选择器不...(11.08)