我有一系列表单,每一个表单我都想添加一个Back按钮,所以我创建了一个命令按钮,并且指定了on click事件触发了以下VBA;
Private Sub cmdBack_Click()
On Error GoTo Err_CmdBack_Click
If Me.Dirty Then Me.Dirty = False
DoCmd.Close
Exit_CmdBack_Click:
Exit Sub
Err_CmdBack_Click:
MsgBox Err.Description
Resume Exit_CmdBack_Click
End Sub
我现在怎样才能将这个按钮复制到代码中的所有其他表单,或者最好的方法是什么?如果我只是复制并粘贴,我会丢失代码,而且我不想为每个看起来效率低下的按钮重新编写代码。
答案 0 :(得分:2)
有很多方法可以在Access中的表单中使用代码重用。
对于此示例,您可以在单独的模块中使用函数,并将按钮绑定到:
Public Function formBack()
On Error GoTo Err_CmdBack_Click
If Screen.ActiveForm.Dirty Then Screen.ActiveForm.Dirty = False
DoCmd.Close
Exit_CmdBack_Click:
Exit Function
Err_CmdBack_Click:
MsgBox Err.Description
Resume Exit_CmdBack_Click
End Function
(如果您按下表单上的按钮,它始终是活动表单。)
您可以将按钮绑定到此功能,方法是将其On Click
属性设置为=formBack()
有其他方法可以重用代码。 This question有一些很好的答案,展示了一些更复杂的答案。