2015-02-07 87 views
2

我有我用來連接到一個MDB數據庫後續VBA代碼,但我得到一個429錯誤,當我嘗試連接DAO.OpenDatabase(DBFILE)錯誤429時連接DAO訪問

我是不是之前得到這個錯誤,但現在它正在發生。在我的其他電腦上,這個連接工作正常。

我檢查MDB的路徑是正確的。

我使用的參考文獻:
- Visual Basic應用程序
- 微軟的Excel 15.0對象庫
- OLE自動化
- 微軟Office 15.0對象庫
- Microsoft DAO 3.6對象庫

我用Excel 2013(在另一臺電腦是Excel 2010中),但正如我說,這是2013年

工作之前沒有人知道如何得到這個PR問題解決了嗎?

Private Sub IniciaDB() 

Dim rs As Recordset 
Dim fld As Variant 
Dim DbFile as String 

DbFile = "D:\Documentos\PMbox\PPMdatabase2.MDB" 

On Error Resume Next 
Set OpenConn = DAO.OpenDatabase(DbFile) 
If Err.Number = 3024 Then MsgBox "Check connection string in the VBA StaticClass object", vbOKOnly 

Set ObjAccess = CreateObject("Access.Application") 
ObjAccess.Visible = False 
ObjAccess.OpenCurrentDatabase (DbFile) 

'runSQL ("INSERT INTO tabela_teste VALUES ('My name', 34)") 
Set rs = runCursorSQL("SELECT * FROM tabela_teste") 

Do While Not rs.EOF 
    For Each fld In rs.Fields 
     Debug.Print fld.Value & ";"; 
    Next 
    rs.MoveNext 
Loop 

closeResources 

End Sub 
+0

哪一行拋出這個錯誤?什麼是錯誤描述? – shahkalpesh 2015-02-07 19:26:32

+0

該行是:設置OpenConn = DAO。OpenDatabase(DbFile) – Braulio 2015-02-07 19:27:08

+0

錯誤描述是:「ActiveX組件無法創建對象」 – Braulio 2015-02-07 19:27:37

回答

0

好了,找到了解決辦法是,DAO參考失蹤,這是在我的電腦,但參考指示程序文件和DAO實際上是對程序文件(x86)

1

我一直在掙扎相同的問題相當長的時間。
原來,我的辦公室是64位,所以引用微軟DAO 3.6對象庫沒有工作。

與參考周圍玩,事實證明,而是使用的DAO360的Microsoft Office 15.0 Access數據庫引擎對象(ACEDAO.DLL)解決的問題。

鏈接,將已經解決了我的問題,如果我發現它遲早Writing Excel VBA to receive data from Access

1

我建立一個MDB到ACCDB轉換器,當我跑進錯誤429是就解決了下載鏈接了類似的回答我的問題。

http://www.microsoft.com/en-ca/download/details.aspx?id=13255

報價: 「此下載將安裝一套可以用於促進2010 Microsoft Office系統文件和非Microsoft Office應用程序之間的數據傳輸組件。」

0

我一個晚上花了這個問題,直到我終於通過卸載既MS Office和MS Access 2010的可再發行的64位版本,然後重新安裝兩者的32位版本的固定它。

它肯定在我看來,64位建立具有兼容性問題與此使用DAO的。

我描述整個問題我有in this post