Results 1 to 5 of 5
  1. #1
    Join Date
    Nov 2007
    Posts
    3

    Unanswered: Recover damaged database

    Earlier this week my company had an electrical fire which resulted in all the servers crashing. Hard. I am trying to recover an Access database but my only experience is an introductory class over 10 years ago so I am pretty clueless and under pressure. I didn’t have much luck with the Microsoft help database. Googling returns lots of results but nothing solves the problem.

    The database is Access 97 and allegedly password protected but no one has the passwords. So far I haven’t encountered any roadblocks because of user security levels.

    I can open with Access 97 and 2003 but when I try to view the tables by any method - update form from the menu, design view or just clicking to open - I get the message ‘The Microsoft Jet database engine stopped the process because you and another user are attempting to change the same data at the same time.’ There are no other users accessing this application. I am told no one was using the applications when the server crashed. The database is set up with optimistic record locking - Default open mode is shared; Default record locking is set to No Locks; Open database using record-level locking is checked.

    There was a ldb record, which from the date/time was created after the crash so I deleted it. Made a copy of the database and tried the repair and compact utilities without effect.

    Is there a file or object that controls record locking that needs to be deleted/reset? Any suggestions? Other than the obvious get a box, pack and run.

  2. #2
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    You can try opening the database using the /decompile option:
    "c:\Program Files\Microsoft office\office\msaccess.exe" /decompile "c:\My Documents\MyDatabase.mdb"

    Once you open utilizing this method, you can try debug-> Compile and see if it does that correctly.

    Also, there are several password breakers and changing the startup for MSAccess utilities if you need them.

    Yes - I will usually delete the *.ldb if it's in the folder and no one is in the *.mdb. Opening the *.mdb and running a compact and repair also usually takes care of the *.ldb file.

    Not sure on record locking but have you considered creating a fresh new mdb in the MSAccess version you have and importing all the tables/relationships from the 97 version?
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  3. #3
    Join Date
    Nov 2007
    Posts
    3
    High hopes for a couple of minutes. Tried the decompile command but got the same message. ‘The Microsoft Jet database engine stopped the process because ...'

    I can open Access. The form for the menu loads but that's it. Accessing any other object type (tables, queries, reports, macros and all the other forms) whether it's from the menu, just clicking to open or opening in design view returns the same message.

    I had thought about exporting the tables and starting with a clean project in a current version but can't open or export anything.

    Also considered password cracker a while back but we've never encountered a situation where the password was needed. Makes me think it's not really protected. I just mentioned it in case it might be relevant.

    I just want to know I tried all the common methods to resolve this before I give up and recommend the company call someone who knows what they are doing.

    I appreciate your quick response.

  4. #4
    Join Date
    Dec 2004
    Location
    Madison, WI
    Posts
    3,926
    Do you happen to have 2 versions of MSAccess installed? If so, did you do any importing of any objects from one mdb into this mdb? If you did, then the error message usually tells you the corrupt form, report or module. To fix, you'll need to open the mdb using the decompile, delete that form, report or module, exit mdb, reopen with decompile, create that form, report or module (exact same name), put in one text field or line of code, exit mdb, reopen with the decompile, delete that form, report or module, re-import. This was a fix I discovered to fix problems with 2 versions of MSAccess and importing. To avoid problems like this, you must immediately debug->compile after importing. If you enter any code and then debug->compile, the object becomes corrupt.

    Let me know if the error pinpoints a specific form, report or module though.

    Other than that, you might try exporting the data out of the 97 version and then importing (try exporting possibly a csv file format or dbase III format).

    If that fails, I've had it once where I wrote some code to export the data tables and the code worked where exporting via the File Menu did not.

    Are you opening the mdb holding down the shift key to bypass the startup code? If not, try doing this and exporting.
    Last edited by pkstormy; 11-16-07 at 18:25.
    Expert Database Programming
    MSAccess since 1.0, SQL Server since 6.5, Visual Basic (5.0, 6.0)

  5. #5
    Join Date
    Nov 2007
    Posts
    3
    Just following up to let you know what's happening. Thanks for the suggestions. Already tried most of it. Now have five databases in the same shape so the company has decided to contract out the repair. I am off the hook.

    Again, thank you for your quick response and suggestions.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •