2

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

当我在表单中的控件上(在 formview 中)时,我想直接“跳转”到该表单的 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 中执行此操作。

4

1 回答 1

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
于 2013-10-07T15:51:26.707 回答