CancelEvent 宏操作

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

您可以使用CancelEvent操作取消事件导致Access运行宏包含此操作。宏名是如更新前OnOpenOnUnloadOnPrint事件属性的设置。

注意: CancelEvent 宏操作不可用 Access web 应用程序中。

设置

CancelEvent操作不具有任何参数。

备注

在窗体,您通常使用CancelEvent操作中的更新前事件属性与验证宏。当用户控件或记录中输入数据时,Access 将数据添加到数据库之前运行该宏。如果数据失败宏中的有效性条件, CancelEvent操作将在开始之前取消更新过程。

通常情况下,您使用此操作与MsgBox操作以指出数据不符合验证条件并提供有关应输入的数据类型的有用信息。

下列事件可通过CancelEvent操作被取消。

ApplyFilter

Dirty

MouseDown

BeforeDelConfirm

退出

无数据

插入

Filter

打开

更新前

格式

打印

DblClick

按键

卸载

删除​​


注意: 您可以使用CancelEvent操作与MouseDown事件仅取消您右键单击对象时所发生的事件。

如果控件的OnDblClick事件属性设置指定包含CancelEvent操作的宏,操作取消DblClick事件。

对于可取消事件,事件宏运行之后,将发生的事件 (即,Access 通常用途发生事件时) 的默认行为。这使您可以取消默认行为。例如,当双击插入点位于文本框中的单词时,Access 通常会选定单词。您可以取消此DblClick事件的宏中的默认行为,并执行其他操作,例如打开窗体包含有关在文本框中的数据的信息。对于不能取消的事件,运行该宏之前,将发生的默认行为。

注意: 如果窗体OnUnload事件属性指定执行CancelEvent操作的宏,您无法关闭窗体。或者,您必须更正导致CancelEvent操作执行或打开该宏并删除CancelEvent操作的条件。如果表单模式窗体,您无法打开该宏。

若要执行CancelEvent操作在 Visual Basic for Applications (VBA) 模块中,使用DoCmd对象的CancelEvent方法。

示例

使用宏来验证数据

下面的验证宏检查邮政编码输入供应商窗体中。显示使用StopMacroMsgBoxCancelEventGoToControl操作。条件表达式用于检查的国家/地区和窗体上的记录中输入的邮政编码。如果邮政编码不是正确的国家/地区的格式,宏将显示一个消息框,然后取消保存该记录。它然后返回到邮政编码控件中,您可以在其中更正错误。此宏应当附加到供应商窗体的更新前属性。

条件

操作

参数 ︰ 设置

注释

IsNull([CountryRegion])

StopMacro

如果国家/地区,无法验证邮政编码。

[国家/地区]In ("法国"、"意大利","西班牙"),Len ([邮政编码]) <> 5

MsgBox

消息 ︰ 邮政编码必须是 5 个字符。

蜂鸣声 ︰

信息的类型 ︰

标题 ︰ 邮政编码错误

如果邮政编码不 5 个字符,则显示一条消息。

...

CancelEvent

取消事件。

GoToControl

控件名称: 邮政编码

[国家/地区]在 ("澳大利亚","新加坡"),Len ([邮政编码]) <> 4

MsgBox

消息 ︰ 邮政编码必须是 4 个字符。

蜂鸣声 ︰

信息的类型 ︰

标题 ︰ 邮政编码错误

如果邮政编码不 4 个字符,则显示一条消息。

...

CancelEvent

取消事件。

GoToControl

控件名称: 邮政编码

([国家/地区] ="加拿大")和 ([邮政编码] Not Like"[A-Z] [0-9] [A-Z] [0-9][A-Z][0-9]")

MsgBox

消息 ︰ 邮政编码无效。加拿大代码示例 ︰ H1J 1c3

蜂鸣声 ︰

信息的类型 ︰

标题 ︰ 邮政编码错误

如果邮政编码不正确的加拿大,显示一条消息。(加拿大代码示例 ︰ H1J 1c3)

...

CancelEvent

取消事件。

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×