Recovering Data Lost Due to Database Corruption
Top
From time to time (especially if you have lots of people accessing the data) Microsoft Access Databases become corrupted.
Microsoft has provided a repair/compact option which we can call from within Accounting and this, in most circumstances,
will restore the database integrity without loss of data. Unfortunately Microsoft don't provide any warning if any of the
data is lost during this process. In most cases it is the database indexes (which tell the program where to find the data)
rather than the actual data that is corrupted and the index data is also stored within the data itself and so corrupted
indexes can always be restored with 100% accuracy which is why the repair process almost always works without data loss.
In the event that the repair/compact function from the database menu doesn't work you can also try to do the repair using
a copy of Microsoft Access Version 2 (and only Version 2) and you can see further information on this on our site at
Repairing Your Database using Microsoft Access V2
If you have lost a few client data records or some transaction records you can actually restore the missing data without
losing your current data if you follow the process below. Note that it is ALWAYS better to restore the last known good backup
rather than try to patch your database but if all else fails this should work. By the way, if you have a corrupted database
and you recover by restoring a backup - make sure that AFTER restoring the backup you shut down your computer, restart it and do
a Repair/Compact on your database to make sure that the data that you have restored is put into pristine condition before continuing
to process.
To restore missing transactions do the following procedures.
- Shut down and restart your computer
- Do a repair/compact on your current database (from the DATABASE menu in Accounting)
- Backup your current database
- Make a note of what the name and location of your current database is (in the title bar at the top of the screen) eg it
might say G:\Acctng\AcctWork.Mdb
- If you need to do a restore to recover an old database which has the data intact then do so however you should be able to
just open one of your month end backups directly by clicking on the FILE menu in Accounting and then SELECT NEW DATABASE and
then clicking on one of the backup files. For Accounting the backup files should be named Acctyymm.Mdb where the yy and mm
are replaced by the year and month when they were copied. (eg April 2005 backup would be saved as Acct0504.Mdb).
- Go to the Database menu in Accounting and choose IMPORT/EXPORT DATA
- Choose EXPORT DATA
- Select the TRANSACTIONS data file
- Select Comma Separated Values Format (CSV)
- Note down the text file name that it is going to export to
- Click on the PROCEED button. This will export the transactions from this database into a text file.
- Either change back to your live database (using SELECT NEW DATABASE from the FILE menu in Accounting) or restore the backup
of your database that you made earlier (if you had to restore an old backup because you didn't have backup file already on
your hard disk drive). Remember that you noted down the name of your current database earlier in this process.
- Go to the Database menu in Accounting and choose IMPORT/EXPORT DATA
- Choose IMPORT (Add New Records)
- Select the TRANSACTIONS data file
- Select Comma Separated Values Format (CSV)
- Make sure that the text file name is the same as the file that you previously exported
- Make sure that the check box marked ERASE EXISTING DATA BEFORE IMPORT is NOT ticked!
- Click on the PROCEED button. This will add back any missing transactions to this database from the text file but will not
change any data that is already in the database.
- Run the FIX TRANSACTION TOTALS option from the FIX menu to make sure that the client balances reflect the current state of
the transaction file.
If you needed to copy back missing CLIENT DETAILS that had been lost you can do exactly the same process except using the CLIENT DETAILS
file instead of the TRANSACTIONS file.