全部显示

BeforeInsert 事件

       

BeforeInsert 事件在用户向新记录中键入第一个字符时、记录真正被创建之前发生。

说明

注意   通过使用或 Visual Basic 来设置控件值时不会触发这些事件。

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

每当添加新记录时,都可以使用 AfterInsert 事件过程或宏对记录集进行重新查询

BeforeInsert 和 AfterInsert 事件与 BeforeUpdateAfterUpdate 事件相似。这些事件按照下列顺序发生:

BeforeInsert ==> BeforeUpdate ==> AfterUpdate ==> AfterInsert。

下表总结了这些事件的交互操作:

事件 发生时间
BeforeInsert 用户在新记录中键入第一个字符。
BeforeUpdate 用户更新记录。
AfterUpdate 记录被更新后。
AfterInsert 更新的记录是一条新记录。

如果新记录中的第一个字符键入到文本框组合框中,则 BeforeInsert 事件将在 Change 事件之前发生。

示例

该示例显示了如何使用 BeforeInsert 事件过程来验证用户是否新建记录,并且在添加新记录之后,使用 AfterInsert 事件过程来重新查询“雇员”窗体的记录源。

若要试用该示例,请将下列事件过程添加到基于表或查询的、名为“雇员”的窗体中。切换到窗体“数据表”视图并且试着插入一条记录。

Private Sub Form_BeforeInsert(Cancel As Integer)
    If MsgBox("Insert new record here?", _
        vbOKCancel) = vbCancel Then
        Cancel = True
    End If
End Sub

Private Sub Form_AfterInsert()
    Forms!Employees.Requery
End Sub