从模块引用调用表单

时间:2012-12-28 14:05:58

标签: vba ms-access access-vba ms-access-2003

我在打开主页表单的模块中有一个功能:

Function goto_home()
    Dim stDocName As String

    'DoCmd.Close acForm, "CallingForm.Name" , acSaveYes
    stDocName = "home_page"
    DoCmd.OpenForm stDocName
End Function

它在一个模块中,因为我在所有表单上都有使用代码的命令按钮,而不是在每个表单对象中复制它。

我的代码中的注释行应在主页打开之前关闭调用表单。如果我是从表单对象执行它,我会使用me.form.name但你不能在模块中这样做。

是否存在允许引用Calling Form的等效模块语法?

1 个答案:

答案 0 :(得分:3)

您总是可以在函数中传递formname,例如:

Function goto_home(frmName As String)

Dim stDocName As String
Dim stLinkCriteria As String

    DoCmd.Close acForm, frmName , acSaveYes
    stDocName = "home_page"
    DoCmd.OpenForm stDocName, , , stLinkCriteria

End Function

然后,当您从每个表单中调用它时,可以将表单的名称放在call参数中。