(Updated 2008-01-21)
Mostly by Peter Miller of PK Solutions
Question: A user at work has accidentally erased the contents of
an Access MDB. The file size is still as it originally was. Is there *any* way
of getting the data back?
Answer: No, not really. Although the space used to store the deleted
records remains unchanged, the actual contents of that storage are not just
deleted, but duplicated in part. Typically, only about one out of every twenty
records is recoverable, for technical reasons. Basically, although the
undeleting is easy enough, Access/Jet copy the first deleted record on a page
over the remaining deleted records on hat page. Typically there are twenty or
more records per page, and hence the 95%+ data loss.
That said, if the table had been deleted, rather than just its records, it would
indeed be recoverable. In fact, if all tables had been deleted, they would all
be recoverable. But records deleted from a table that is not deleted are indeed
toast, or at least predominantly so.
Additional Info: For the above you must visit a data recovery specialist such as are in the When All Else Fails section of the Corrupt MDBs page.
There are several KB articles on this topic however they have several restrictions.
ACC: How
to Recover a Table Deleted from a Database (Access 95 and 97) - 179161
ACC2000: How to Recover a Table Deleted from a Database
- 209874