MS Access复制按钮

时间:2017-11-28 09:37:32

标签: vba ms-access

我有一系列表单,每一个表单我都想添加一个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

我现在怎样才能将这个按钮复制到代码中的所有其他表单,或者最好的方法是什么?如果我只是复制并粘贴,我会丢失代码,而且我不想为每个看起来效率低下的按钮重新编写代码。

1 个答案:

答案 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有一些很好的答案,展示了一些更复杂的答案。