2015-02-07 85 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