打开活动表单的VBA代码

时间:2013-10-02 14:48:27

标签: vba ms-access access-vba

我有一个包含大量表单(300+)和VBA代码的Access数据库。此Access数据库的后端位于MS SQL中。

当我在窗体中的控件(在窗体视图中)时,我想直接“跳转”到此窗体的VBA代码,而不关闭或将窗体置于设计模式中。我可以使用我分配给函数的快捷键来完成此操作。

当控件不在子窗体中时,这很有效。但是在这种情况下,代码会遇到错误,告诉我无法找到表单模块。

这是我使用的代码:

Dim sFrmName As String

sFrmName = Screen.ActiveControl.Parent.Name
If Nz(sFrmName, "") = "" Then Exit Function

'Open forms module
DoCmd.OpenModule "Form_" & sFrmName

如何更改此代码,以便我不必将表单置于设计模式下转到此表单的VBA代码,这也适用于子表单?我知道我可以在VBE中手动执行此操作,但我想在VBA中执行此操作。

1 个答案:

答案 0 :(得分:1)

找到了一种方法,这也适用于子表单:

Dim sFrmName As String

sFrmName = Screen.ActiveControl.Parent.Name
If Nz(sFrmName, "") = "" Then Exit Function

'Open forms module
'DoCmd.OpenModule "Form_" & sFrmName
Application.VBE.ActiveVBProject.VBComponents("Form_" & sFrmName).CodeModule.CodePane.Show