2012-02-27 67 views
1

我試圖從Excel中調用Access數據庫中的子例程。然後這個子程序調用一些其他的子程序,全部包含在數據庫中。我看到很多其他的帖子,其中有些人不贊同,但出於某些原因,Excel需要成爲這方面的前端。我想:從Excel調用Access Sub

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不是很熟悉 - 我怎麼去做這件事?我需要包括哪些參考?

回答

2

這將是:

''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" 
+0

我仍然運行到麻煩需要但是,要手動提供密碼。你知道如何解決這個問題嗎? – tttt555 2012-02-27 21:53:37

+0

這僅僅是一個數據庫密碼或者你在使用用戶級別的安全性嗎?對於數據庫密碼,請參閱編輯,它與您在示例中顯示的相同。 – Fionnuala 2012-02-27 21:58:09

+0

我認爲這是用戶級別的安全性,因爲我相信它是從工作組定義的。 – tttt555 2012-02-27 22:00:34