9

I'm having a problem. One of my databases on our shared network will not open for any user. It says "Unrecognized Database Format."

I've had this problem before but was still able to open the database, compact and repair, or import all of the database objects into a new database.

The problem here is -- I can't even get it to the point of opening. Is there a solution here without the use of third party software to repair the database?

Gord Thompson
  • 116,920
  • 32
  • 215
  • 418
Scotch
  • 3,186
  • 11
  • 35
  • 50
  • Which versions are you using? – Fionnuala Dec 14 '12 at 18:16
  • Can you get to the data using VBScript? – Fionnuala Dec 14 '12 at 18:19
  • I'm not sure how to do that. Also, any linked tables from this database are also not working. Trying to refresh the links throws the same error. – Scotch Dec 14 '12 at 18:24
  • 5
    Try ADODB in a module in some other Office application, say: `myDB="z:\docs\mydb.accdb": Set cn=CreateObject("ADODB.Connection"): cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & myDB` – Fionnuala Dec 14 '12 at 18:31
  • Well, I just got a backup copy-- but I'm still interested in how this can be fixed without grabbing a backup in case I need to in the future. I'll try to get it from excel and see what it does. – Scotch Dec 14 '12 at 18:37
  • 2
    Corruption articles: http://support.microsoft.com/kb/306204; http://www.granite.ab.ca/access/corruptmdbs.htm – Fionnuala Dec 14 '12 at 18:39
  • @Remou sounds like you had experience in this area. :) – HelloW Dec 14 '12 at 18:56
  • Haha, yes. Thanks for the articles. Is there any specific things that cause corruption? I have most of my databases set to compact and repair on close and auto backup, but I don't really have anything in place to prevent corruption -- mostly just to fix it when it happens. – Scotch Dec 14 '12 at 19:01
  • 2
    " I have most of my databases set to compact and repair on close " DO NOT do this! It is an incredibly bad idea. Always take a copy before you compact and repair. – Fionnuala Dec 14 '12 at 21:03
  • More on why not: http://stackoverflow.com/questions/3428856/how-to-compress-an-ms-access-database, see the late David Fenton's answer. – Fionnuala Dec 14 '12 at 21:10

6 Answers6

7

Open access, go to the database tools tab, select compact and repair database. You can choose the database from there.

twoleggedhorse
  • 4,938
  • 4
  • 23
  • 38
5

WE had this problem on one machine and not another...the solution is to look in control panel at the VERSION of the Access Database Engine 2007 component. If it is version 12.0.45, you need to run the service pack 3 http://www.microsoft.com/en-us/download/confirmation.aspx?id=27835

The above link will install version 12.0.66...and this fixes the problem...thought I would post it since I haven't seen this solution on any other forum.

tandori
  • 51
  • 1
  • 2
  • The same thing applies to Access 2010. I corrupted a database every few minutes until I loaded the service pack. This page has links for SPs for both 32 and 64 bit. https://support.microsoft.com/en-us/kb/2687521 – Karl Hoaglund Mar 26 '16 at 21:03
  • Thanks man, you are my saving grace! Had this issue with node-adodb but nothing worked for me. The service pack fixed everything now! :) – Vetterjack Sep 20 '16 at 11:15
  • The Microsoft link has been guillotined, "We're sorry, this download is no longer available..." Are there any other locations hosting this file? – LeftyMaus Dec 28 '19 at 02:12
1

After much struggle with this same issue I was able to solve the problem by installing the 32 bit version of the 2010 Access Database Engine. For some reason the 64bit version generates this error...

Andy Braham
  • 9,594
  • 4
  • 48
  • 56
0

Try to create a new database and import every table, query etc into this new database. With this import Access recreates all the objects from scratch. If there is some sort of corruption in an object, it should be solved.

If you're Lucky only the corrupted item(s) will be lost, if any.

RHAD
  • 1,317
  • 3
  • 13
  • 37
0

Well, I have tried something I hope it helps ..

They changed the schema a little bit ..

Use the following :

1- Change the AccessDataSource to SQLDataSource in the toolbox.

2- In the drop down menu choose your access database (xxxx.accdb or xxxx.mdb)

3- Next -> Next -> Test Query -> Finish.

Worked for me.

Omar
  • 71
  • 3
0

Sometimes it might depend on whether you are using code to access the database or not. If you are using "DriverJet" in your code instead of "DriverACE" (or an older version of the DAO library) such a problem is highly probable to happen. You just need to replace "DriverJet" with "DriverACE" and test.

Georgi Mirchev
  • 261
  • 3
  • 6