1
votes

I'm having trouble with a well-known problem but I can't find any solutions. I have an old application (I don't know how old exactly) written in VBA using Excel which uses some Access data (*.mdb). The application was written on a 32-bit system. I tried to update it to the new 64-bit system using Office 2010.

Here is the code I use to load the Access DB:
Set Db = DBEngine.OpenDatabase(.sChemin & .sNom, False, False, ";pwd=******")

And the error I get:
429 Activex Component Cant Create Object

Here are my references:

  • Visual Basic For Applications
  • Microsoft Excel 14.0 Object Library
  • OLE Automation
  • Microsoft Forms 2.0 Object Library
  • Microsoft Scripting Runtime
  • Microsoft Data Access Components Installed Version
  • Microsoft DAO 3.6 Object Library

I have already tried to unregister / re-register the DAO dll using regsvr32 "C:\Program Files (x86)\Common Files\microsoft shared\DAO\dao360.dll", and I got the same problem when I try to use workspaces.

I don't know if it's gonna help but Access is working fine when I use the CreateObject("Access.Application") and I installed Excel / Word and Access at two different times.

1
Is office 2010 64bit? or just the OS? - DJ.

1 Answers

0
votes

Try deleting the reference to Microsoft DAO 3.6 Object Library, it is very old. Add a reference to Microsoft Office 14.0 Access database engine Object Library.