从Excel调用Access Sub

时间:2012-02-27 21:35:25

标签: ms-access excel-vba vba excel

我正在尝试从Excel调用Access数据库中的子例程。然后,该子程序调用许多其他子程序,这些子程序都包含在数据库中。我看到了其他一些不鼓励的帖子,但由于原因,Excel需要成为这个的前端。我试过了:

Sub TestRun()
        Dim acObj As Access.Application
        Set acObj = CreateObject("Access.Application")
        acObj.Application.Visible = True
        acObj.OpenCurrentDatabase "C:\testMDB\TEST.mdb", False, "password"
        acObj.Application.Run ("TestRunAccess")
End Sub

数据库是带有密码的工作组的一部分 - 以这种方式运行它仍会提示输入密码。我对Access不是很熟悉 - 我该怎么做呢?我需要提供哪些参考资料?

1 个答案:

答案 0 :(得分:3)

那将是:

''Reference: Microsoft Access x.x Object Library
Dim acObj As New Access.Application
''Set acObj = CreateObject("Access.Application")
acObj.Application.Visible = True
acObj.OpenCurrentDatabase "C:\testMDB\TEST.mdb",,"ADatabasePassword"
acObj.Application.Run "TestRunAccess"

如果您希望避免引用问题,您可能更喜欢使用后期绑定,在这种情况下:

Dim acObj As Object
Set acObj = CreateObject("Access.Application")
acObj.Application.Visible = True
acObj.OpenCurrentDatabase "C:\testMDB\TEST.mdb",,"ADatabasePassword"
acObj.Application.Run "TestRunAccess"