1

我遇到了一个众所周知的问题,但我找不到任何解决方案。我有一个使用 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 工作正常。

4

1 回答 1

0

尝试删除对 的引用Microsoft DAO 3.6 Object Library,它很旧。添加对Microsoft Office 14.0 Access database engine Object Library.

于 2012-07-06T10:40:46.600 回答