我的应用程序在Windows XP(32位)下完美运行。移动到Windows 7(64位)并编译在模块(第二行,“设置mydb = ...”,参见代码)中我给出了错误run time error 429 ActiveX component can't create object
我在哪里进行连接使用MS Access数据库(Windows 7 64位中的Access 2013)。在Windows XP中,它是一个扩展名为.mdb
的Access 2000数据库。现在是Access 2013,扩展名为.accdb
。
在参考资料中,我用Microsoft Office 15.0 Access数据库引擎对象库替换了Microsoft Office DAO 3.5库,但这并没有解决问题。 (如果我离开DAO对象库,那么我会在同一行上得到run time error 3343 unrecognized database format
。)
我不确定是否必须放入32位或64位版本的组件。 (例如,windows \ system32下或windows \ sysWOW64下的dbrgid32.ocx ......还是没关系?)
Sub pldata()
Set mydb = DBEngine.Workspaces(0).OpenDatabase("D:\ETC\Gegevens\ETC2015.accdb", False, False, "MS Access")
'Set mydb = DBEngine.Workspaces(0).OpenDatabase("D:\ETC\Gegevens\ETC2015.accdb")ess")
Set myrstadres = mydb.OpenRecordset("select * from dbadres order by naam")
End Sub