Attachment.BeforeUpdate 事件 (Access)

BeforeUpdate 事件先于在控件或记录中更新已更改数据发生。

语法

表达式BeforeUpdate (取消)

表达 一个代表 Attachment 对象的变量。

参数

名称 必需/可选 数据类型 说明
Cancel 必需 Integer 确定是否发生 BeforeUpdate 事件的设置。 将 Cancel 参数设置为 True (1) 将取消 BeforeUpdate 事件。

返回值

Nothing

注解

更改控件中的数据通过使用 Visual Basic 或宏中包含 SetValue 操作不会触发这些事件的控件。 但是,如果再移至其他记录或保存记录时,窗体的 更新前 事件发生。

该事件 仅适用于窗体上的控件不是报表上的控件。

若要在发生此事件时运行宏或事件过程,请将 BeforeUpdate 属性设置为宏的名称或设置为 [事件过程]。

当控件或记录发生更新时,将会触发 BeforeUpdate 事件。 在记录中,当控件失去焦点或用户按 Enter 或 Tab 时,将更新每个控件中更改的数据。当焦点离开记录时,或者如果用户在“记录”菜单上选择“保存记录”,则会更新整个记录,并将数据保存在数据库中。

当您在窗体上的控件中输入新的或更改的数据,然后移动到另一条记录,或通过选择“记录”菜单上的“ 保存记录 ”来保存 该记录 时,窗体的 AfterUpdate 事件立即在控件的 AfterUpdate 事件之后发生。 如果移到其他记录,控件的 ExitLostFocus 事件发生,后跟所移到的记录的 Current 事件,以及此记录中第一个控件的 EnterGotFocus 事件。 若要运行 AfterUpdate 宏或事件过程,而不运行 ExitLostFocus 宏或事件过程,请使用“记录”菜单上的“保存记录”命令保存记录。

只有当你在控件中更改数据时, BeforeUpdate 宏和事件过程才会运行。 当计算控件中的值发生更改时,此事件不会发生。 BeforeUpdate 宏和窗体的事件过程更改记录中的一个或多个控件中的数据时,才运行。

如果用户在控件中键入了新值, OldValue 属性设置不会改变,等到数据被保存 (记录被更新)。 如果取消更新, OldValue 属性的值会替换控件中的现有值。

通常使用 BeforeUpdate 事件来验证数据,特别是在执行复杂验证时,如以下情况:

  • 涉及一个表单上多个值的条件。
  • 对输入的不同数据显示不同的错误消息。
  • 可以被用户重写。
  • 包含对其他表单上控件的引用或包含用户定义函数。

如果尝试修改在事件过程中触发 BeforeUpdate 事件的控件中包含的数据,则会发生运行时错误。

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。