我有一个在 Windows XP(32 位)下完美运行的应用程序。移动到 Windows 7(64 位)和编译给我run time error 429 ActiveX component can't create object
在模块(第二行,“set mydb=...”,见代码)中的错误,我在其中与 MS Access 数据库(Windows 7 中的 Access 2013 64少量)。在 Windows XP 中,它是一个带有扩展名的 Access 2000 数据库.mdb
。现在是带扩展名的 Access 2013 .accdb
。
在参考文献中,我将 Microsoft Office DAO 3.5 库替换为 Microsoft Office 15.0 Access 数据库引擎对象库,但这并不能解决问题。(如果我离开 DAO 对象库,那么我会run time error 3343 unrecognized database format
在同一行。)
我不确定是否必须放入 32 位或 64 位版本的表单组件。(比如windows\system32下的dbrgid32.ocx或者windows\sysWOW64下的……还是没关系?)
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