关闭当前表单并在Access中打开另一个表单?

Yar*_*den 6 forms ms-access vba

我正在尝试创建一个关闭当前表单并打开主窗体的宏.

由于我有这么多表单,并且我需要在所有表单中使用相同的按钮,我想创建一个宏,而不是单独创建每个表单.

有没有办法这样做?

Bla*_*awk 16

创建代码模块并添加以下函数:

Public Sub CloseMeAndOpenMain(frmMe As Form)
    DoCmd.Close acForm, frmMe.Name
    DoCmd.OpenForm "frmMain" 'Replace this with the actual name of your Main form
End Sub
Run Code Online (Sandbox Code Playgroud)

现在,每次有一个应该关闭当前表单并打开"frmMain"表单的按钮时,您将编写click事件处理程序,如下所示:

Private Sub btnCloseForm_Click()
    CloseMeAndOpenMain Me
End Sub
Run Code Online (Sandbox Code Playgroud)

Me是对当前表单的引用,每个表单都有一个Name属性.因此,您可以编写一个函数来关闭它,而不必将名称硬编码为String(主要表单当然除外).