如何通过excel VBA在当前打开的数据库上运行访问宏?

时间:2019-05-16 08:50:57

标签: vba ms-access

我正在设置一个运行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

在这种情况下,数据库被打开并且宏运行,但是我只需要宏在已经打开的数据库上运行。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以从代码模块中简单地

DoCmd.RunMacro "Macro name"    

将在当前数据库中执行

如果您尝试通过其他应用程序(例如Excel)执行此操作,则可以

Dim accApp As Access.Application
Set accApp = GetObject(, "Access.Application")

但是您应该检查

accApp.CurrentDb.Name

确保您正在查看正确的数据库

(话虽如此,如果您想操纵数据库中的数据,则有使用ADO或DAO的更好的方法。以上方法可以工作,但永远不会很稳定)。