Access 2013 - Cannot open a database created with a previous version of your application

114,674

Solution 1

I've just used Excel 2016 to open Access 2003 tables.

  1. Open a new worksheet
  2. Go to Data tab
  3. Click on "From Access" menu item
  4. Select the database's .mdb file
  5. In the "Data Link Properties" box that opens, switch to the "Provider" tab
  6. Select the "Microsoft Jet 4.0 OLE DB Provider"
  7. Click on Next
  8. Reselect the database's .mdb file (it forgets it when you change Provider)
  9. Click OK
  10. From the Select Table dialogue that appears, choose the table you want to import.

Solution 2

You can use MDB Viewer Plus from http://www.alexnolan.net/software/mdb_viewer_plus.htm to view or edit your old version database

Solution 3

As noted in another answer, the official word from Microsoft is to open an Access 97 file in Access 2003 and upgrade it to a newer file format. Unfortunately, from now on many people will have difficulty getting their hands on a legitimate copy of Access 2003 (or any other version prior to Access 2013, or whatever the latest version happens to be).

In that case, a possible workaround would be to

  • install a 32-bit version of SQL Server Express Edition, and then
  • have the SQL Server import utility use Jet* ODBC to import the tables into SQL Server.

I just tried that with a 32-bit version of SQL Server 2008 R2 Express Edition and it worked for me. Access 2013 adamantly refused to have anything to do with the Access 97 file, but SQL Server imported the tables without complaint.

At that point you could import the tables from SQL Server into an Access 2013 database. Or, if your goal was simply to get the data out of the Access 97 file then you could continue to work with it in SQL Server, or move it to some other platform, or whatever.

*Important: The import needs to be done using the older Jet ODBC driver ...

Microsoft Access Driver (*.mdb)

... which ships with Windows but is only available to 32-bit applications. The Access 2013 version of the newer Access Database Engine ("ACE") ODBC driver ...

Microsoft Access Driver (*.mdb, *.accdb)

also refuses to read Access 97 files (with the same error message cited in the question).

Solution 4

Non-Programming Answer: Download and install an older version of the Access Database Engine (2010 or 2007 for example, rather than 2013). Open Excel, navigate to the "Data" tab on the Ribbon and click "From Access". Import the data into Excel, and then Export to an accdb file or do whatever with it. NOTE! opening Access 2013 will trigger a re-install of the 2013 engine, so keep the 2007/2010 installation .exe around.

Programming Answer: Having installed an older version of Access Database Engine, you can use an OLEDB connection in multiple programming environments (C#, VBA, VBScript, etc.) to read/write and move Access data. Gord Thompson's answer also presents the option of jumping to SQL server and back.

See This post for a similar problem using an OLEDB connection

Connectionstrings.com is a great resource

See this post for how to setup an OLEDB connection using C#

Solution 5

You can do all these things but the underlying problem will be incompatibility with Windows updates of library files. Eventually you will have problems again. .ocx and .dll files will be clobbered and replaced: your database will not be able to cope with the new versions and it will not build or it will malfunction unexpectedly.

Share:
114,674
Uma Ilango
Author by

Uma Ilango

Updated on August 05, 2022

Comments

  • Uma Ilango
    Uma Ilango almost 2 years

    I have an Access database created more than 10 yrs back.

    I have very important data in it & I think it can be opened in Access 2007 or earlier version. Currently I have Access 2013 in my desktop and opening the file with this version results in the error "Cannot open a database created with a previous version of your application"

    What is the solution for this issue? Is there any place where I can download the earlier version of MS Access?