gpt4 book ai didi

ms-access - Application.run 不适用于模块

转载 作者:行者123 更新时间:2023-12-01 02:19:22 25 4
gpt4 key购买 nike

我有两个模块。在一个模块中,我想间接地从另一个模块运行一个子模块。根据 MS 和大量在线资源的说法,这应该可以工作 - 但事实并非如此。可能是什么问题呢?

'Module: "Helpers"

Public Sub ubTest()
MsgBox "ubTest is called"
End Sub


'Another Module -> I also tried this from a form and a class...

Public Sub test()
Dim s As String
Helpers.ubTest 'works

s = "ubTest"
Application.Run s 'works

s = "Helpers.ubTest"
Application.Run s 'doesn't work

End Sub

(显然这是一个测试——在实际应用程序中,我将拥有多个模块,并且并不总是能够控制过程名称——所以我必须使用模块前缀)

我尝试/反编译并压缩数据库-那里也没有运气。

最佳答案

Access Application.Run Method 帮助主题说明了 Name 参数:

'如果您正在调用另一个数据库中的过程,请使用项目名称和过程名称,格式为:“projectname.procedurename”。

所以我想当你提供 "modulename.procedurename" (即“Helpers.ubTest”),Access 认为您的模块名称是 VBA 项目的名称。由于找不到名为 Helpers 的项目,因此会引发错误 #2517,“...找不到过程 'Helpers.ubTest.'”

不幸的是,我找不到用 Application.Run 做我认为你想做的事情的方法。 .我希望 "projectname.modulename.procedurename"会起作用,但这也触发了 2517 错误。

关于ms-access - Application.run 不适用于模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21757600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com