我有一个包含大量表单(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中执行此操作。
答案 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