我遇到了一个众所周知的问题,但我找不到任何解决方案。我有一个使用 Excel 用 VBA 编写的旧应用程序(我不知道到底有多旧),它使用了一些 Access 数据 (*.mdb)。该应用程序是在 32 位系统上编写的。我尝试使用 Office 2010 将其更新到新的 64 位系统。
这是我用来加载 Access DB 的代码:
Set Db = DBEngine.OpenDatabase(.sChemin & .sNom, False, False, ";pwd=******")
我得到的错误是:
429 Activex Component Cant Create Object
以下是我的参考资料:
- 适用于应用程序的 Visual Basic
- Microsoft Excel 14.0 对象库
- OLE 自动化
- Microsoft Forms 2.0 对象库
- Microsoft 脚本运行时
- Microsoft 数据访问组件安装版本
- Microsoft DAO 3.6 对象库
我已经尝试使用 注销/重新注册 DAO dll regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\DAO\dao360.dll"
,当我尝试使用工作区时遇到了同样的问题。
我不知道它是否会有所帮助,但是当我使用 CreateObject("Access.Application") 并且我在两个不同的时间安装 Excel / Word 和 Access 时,Access 工作正常。