我正在设置一个运行Access数据库宏的vba代码。 我从下面开始的代码是:
Sub import()
Dim appAccess As Object
Set appAccess = CreateObject("Access.Application")
Call appAccess.OpenCurrentDatabase("database link")
appAccess.UserControl = True
appAccess.DoCmd.RunMacro "Macro name"
End Sub
在这种情况下,数据库被打开并且宏运行,但是我只需要宏在已经打开的数据库上运行。
谢谢
答案 0 :(得分:0)
您可以从代码模块中简单地
DoCmd.RunMacro "Macro name"
将在当前数据库中执行
如果您尝试通过其他应用程序(例如Excel)执行此操作,则可以
Dim accApp As Access.Application
Set accApp = GetObject(, "Access.Application")
但是您应该检查
accApp.CurrentDb.Name
确保您正在查看正确的数据库
(话虽如此,如果您想操纵数据库中的数据,则有使用ADO或DAO的更好的方法。以上方法可以工作,但永远不会很稳定)。