Search code examples
ms-accessdllvb6

Unknown update to computer is causing "Cannot open a database created with a previous version" error?


I have a old program with many years. This is programmed with VB6 and use Access 97 database. The program worked fine until a few days ago, but the customer has updated something on his computer and now the program gives an error 3041 "Cannot open a database created with a previous version..". This error is in the line

Set BD_Seguro = AreaDeTrabajo.OpenDatabase(PathDatos & "UsuaE.mdb", False)

The program use "Microsoft DAO 3.6". I reinstall the program but the problem persists. What are the necessary libraries for "Microsoft DAO" to work?

Thanks


Solution

  • IIRC the file VB6DEDP.ini which comes with VB6 should list most of the dependencies which are relevant for DAO.

    This is a map of VB6DEP.ini dependencies that I made using GraphViz a while ago:

    enter image description here

    (click it to expand)

    Here's the portion which seems to be relevant for DAO360: enter image description here

    In my experience this is a good starting point for what must be installed on a computer for DAO360 to work.

    Given that you are reading an old format MDB you may also need to make sure the MSRD2x...DLL files are also present, as I think these are converters or adapters from version "2" to something later.