会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Access技巧 > 宏/菜单/数据页 > 正文

Access编程-操作(宏)[3]

时间:2009-03-18 09:21 来源:网络 作者:UMVsoft资… 阅读:

CancelEvent 操作[3]

使用 CancelEvent 操作可以取消一个事件,该事件在取消前用于引发 Microsoft access 执行后来包含该操作的。宏名称即为事件属性的设置,如 BeforeUpdateOnOpenOnUnload 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 方法。

示例 通过使用宏验证数据

下面的验证宏检查在供应商窗体中输入的邮政编码。它显示 StopMacroMsgBoxCancelEvent 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 方法。

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: