运行 VBA 记录更改而不是打开 Access 2013 的形式

Run VBA on record change and not form open Access 2013

我的宏有两个标准。

On Current 有效,但它也在 运行 上打开表单。如果更改字段,仅 After Update 运行 秒。有符合我条件的活动吗?

您可以使用 static 变量:

Private Sub Form_Current()

    Static Opened As Boolean

    If Opened = False
        ' Form opens.
        Opened = True
    Else
        ' Do stuff.
    End If

End Sub

要操作上一条记录:

Private Sub Form_Current()

    Static Opened As Boolean
    Static LastId As Long

    If Opened = False
        ' Form opens.
        Opened = True
    ElseIf LastId <> 0 Then
        ' Do stuff using LastId as the Id.            
    End If

    ' Save current Id.
    LastId = Nz(Me!Id.Value, 0)

End Sub