连接DAO Access时发生错误429

我有跟随的VBA代码,我用来连接到MDB数据库,但我得到一个429错误,当我尝试连接DAO.OpenDatabase(DbFile)

我以前没有得到这个错误,但现在正在发生。 在我的另一台电脑上这个连接工作正常。

我检查了MDB的path,这是正确的。

我使用的参考是:
– Visual Basic for Applications
– Microsoft Excel 15.0对象库
– OLE自动化
– Microsoft Office 15.0对象库
– Microsoft DAO 3.6对象库

我正在使用Excel 2013(在其他电脑是Excel 2010),但正如我所说,它在2013年之前工作。

有谁知道如何解决这个问题,请?

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 

我一直在同一个问题上挣扎了很长时间。
事实certificate,我的办公室是64位 ,所以引用的Microsoft DAO 3.6对象库没有工作。

玩弄引用,原来,使用Microsoft Office 15.0 Access数据库引擎对象 (ACEDAO.DLL),而不是DAO360解决了这个问题。

链接到一个类似的答案,如果我发现它可以解决我的问题编写Excel VBA从Access接收数据

当我遇到错误429时,我正在build立一个MDB到ACCDB转换器。这是一个链接到下载,解决了我的问题。

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

Quote:“此下载将安装一组组件,可用于促进2010年Microsoft Office系统文件和非Microsoft Office应用程序之间的数据传输”。

那么,find的解决scheme是DAO引用丢失,它是在我的电脑,但参考指示程序文件和DAO实际上在程序文件(x86)

我在这个问题上花了一个晚上,直到我最终通过卸载MS Office和MS Access 2010 Redistributable的64位版本,然后重新安装它们的32位版本来修复它。

在我看来,64位版本在使用DAO时有兼容性问题。

我描述了我在这篇文章中遇到的所有问题。