运行 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
我的宏有两个标准。
- 只有当用户切换记录时才应该运行
- 应该运行记录是否被修改
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