Various errors can mean that your database file is corrupted and is unreadable by your program. Some of the common errors are:

- MFC Application error. This program has encountered a problem and will now be closed by Windows.

- This program has performed an illegal operation and will be shut down.

- My data has caused an invalid page fault in module mfc42.dll

- An error has occurred while opening the database file. The database may be corrupted or you may be out of disk space. Clear some space and try to open the file.


If you have a corrupted database file that will not open in your program, this usually occurs because your system shut down or "froze" unexpectedly while your list file was open and active in your database program. This can happen if you experience a power outage, a system failure, or a program error from ANY program running on your system while our database program is running at the same time.


Essentially, if our database program is not allowed to save the file and close normally, the active database that was in use at the time can become corrupted.

When the database list file is open, the data is in a "writeable" state and the database is in flux as it sits in your computer memory. If the program cannot close down properly and save the data in your file properly, the integrity of the database can become compromised. When this happens, either the file will not open at all or whenever you try to make a change to the file, the program will crash.


ALWAYS TRY TO RESTORE A BACKUP FILE FIRST. This is the easiest and most complete way to restore a database if you encounter file problems. The file's Administrator should have been periodically making Backups to ensure the data is protected in case of a corruption problem This Backup command is located in the File menu.


To Restore a Backup:

- Open a new blank database file in the program as the Administrator. It does not matter the file name or the file location - you just want to get the program running with a database file active.

- Go to the File menu and choose Restore

- Browse to the folder location on your hard drive or the location on your backup server to where you created your file's Backup. When you see the Backup file you want to restore in the browsing window, double-click on it to open it.

- A Browse for Destination Folder dialog will appear. You want to choose the folder in which you want the newly restored file to be located. Highlight your selection, then click OK.

- You will now be prompted for the database's Administrator password. This was the Administrator password it had when the Backup file was created. Enter it now and click the OK button. If you do not have the Administrator password for the Backup, you will not be able to restore it.

- A dialog will appear asking if you wish to open the newly restore database. Answer Yes to view the contents of the file.


IF YOU DO NOT HAVE A BACKUP FILE TO RESTORE:


You can often recover the names and addresses in your database file by exporting or extracting the data out of it and then re-importing the information into a new, blank database file. This uses your existing list data information in a newly created database structure.


If you are able to open the list file in your database program, but you cannot make a change to it:


(Scroll down the page to read about what to do if you cannot open the list file at all)


If the file opens, but you cannot edit a design, save the file or make other modifications to it, then the database is corrupted, but not so much so that it cannot be read by our program. You do not want to continue using this file, as continued use may cause the database to become more corrupted and eventually fail to open at all. We recommend you do the following to "re-build" your list file:

- Open your list file in your database program. Do this by selecting the Open command in the File menu and then double-clicking on your file in the browsing window.

-Once your file is open, choose Export from the File menu at the top of the screen.

- On the Export dialog, select the option All Records for the "Export Mode" and then click the Add All button to tell the program to export all the fields for each exported record. When you're done, click OK.

- A Save As dialogue will open. Choose a hard drive or disk location to create the file in by selecting it in the Save In drop-down. Then, give the export file a name in the File Name entry (we recommend you use the default ExpFile name if you want). When you're ready to export, click Save. Make note of the name and location of your file for importing later - usually the export is on your Windows Desktop.

- What you have now created is an exported file of just the text data from your database. Open a new file now by choosing the File menu. Do not use "New With Current Design" as this will carry-over the corruption into your new file!

- If your corrupted database was built from scratch with customized data fields, you will have to re-create that database structure again using the New Custom File option. Make the exact same data fields you used originally as the same data types and click OK when you're done.

- If your corrupted database was originally built from a pre-defined template, use the option New With Template. Select the same template you used originally and then click OK when you're done.

- Once you have your new, blank list file open, choose the File menu and select Import

- In the main browsing window of this Import dialog, you should find the file you just exported. When you see it, left-click on it once to highlight it, then click the Open button.

- A dialog Use First Record for Field Names will appear. Click the Yes button on this dialog.

- A window Assign Import Fields will appear next. If the bottom-left dialog box for Fields in Import File is completely empty, then simply click the OK button. If the bottom-left dialog box for Fields in Import Filehas field name entries in it, you will need to assign those fields to an appropriately-matching field from the bottom-right dialog box for Fields in Current File. Do this by left-clicking to highlight a field entry inFields in Import File list, then finding its appropriate match and clicking on it in the Fields in Current File listing. When you do this, both entries should disappear from their respective lists and re-appear as a field assignment in the top dialog box (For example, you might need to click on First Name in the Fields in Import File listing and then click on its "match" in the Fields in Current File listing, which is First). Repeat this manual assignment process until you have assigned every field from the Fields in Import File listing (so that it is empty), or it contains the leftover fields you have decided you do not need. Click OKwhen you're done.

- Now, you should return to the Data Entry tab. Click on the Data Table Tab to view whether or not your data imported correctly. If you have matched up the fields properly in the previous step during the "Assign Import Fields" process, you should have your data back into the program in a file that is not corrupt.

- The data of your file will have transferred, but any customized output forms will have to be re-created as these will have been lost with your previous corrupted file.

- Save your re-built file by choosing the File menu and selecting Save As... Give your rebuilt file a name and save location in the browsing window and click Save when you are ready to save the file.


If you cannot open your list file at all in your database program


If you cannot open your list file at all because our program crashes whenever you try to load the list, then you will need to extract the data from the main database file using Microsoft Excel. If you do not have Microsoft Excel to perform these operations, contact Technical Support for further assistance in recovering your list data.


The data from your list file is in a file with a *.esd extension located in the directory where you save your databases. To understand how you are going to be able to recover your information, you will need to understand how your database program saves and archives your files.


For example, if your database was saved on your computer as a file you called "contacts", then the files that our database program creates to save your data are as follows:

1) A yellow folder called "contacts" (the name of the saved database) containing support files

2) A file called contacts.esd

3) A file called contacts.dbt


This collection works together to act as your complete database. All of these files would be in the same Windows folder you saved your database to. So if you originally made a file in a folder on your server for more than one user to access, you would see a folder called contacts and a file called contacts.esd and a file called contacts.dbt.


The raw text data of this list would be stored in the file contacts.esd. It is this *.esd file that would be used for the steps described below to open and extract with Microsoft Excel.


Here is how you can extract your data using Microsoft Excel:

- Open Microsoft Excel on your computer

- In the File menu choose the option Open

- In the Look In: drop-down box, browse to the folder location where your corrupted database files reside. If you are not sure where your database file was saved, try looking in the default Data folder in the database program's installation directory:

C:\Program Files\MySoftware\(name of program)\Data\

- Once you have selected the folder with your file in it in the Look In: drop-down box, change the Files of Type drop-down at the bottom of the window to the selection All Files (*.*)

- You should see collections of files with names similar to the ones used as examples above. You want to find the main *.esd file of your corrupted list in this window and Open it. This file will have an icon different than the other files in this window - it will have an icon similar to the icon for your program. If you are not sure if you are identifying the correct file, right-click on the file you think is your *.esd file and then choose Properties from the menu that appears. The Type should say DatabaseProfessionalDocument or something very similar. If so, then this is the correct file.

- If you open the correct file, you should rows and columns of data that make up your database file's list data. Go to the File menu here and select Save As...

- The Save As dialog will open. Change the Save In: drop-down dialog to My Documents. Then, change the Save As Type: drop-down selection to "CSV ( Comma delimited) (*.csv)". With these settings, clickSave. Close Microsoft Excel.

- You will now want to try and open your database program again. If you cannot open your database program, it is because the program is trying to open the last list file you were working on - which also happens to be the file that is corrupted and you are trying to recover. You will need to move or delete your corrupted list file in Windows so that your database program does not find it and keep trying to open it unsuccessfully when you launch the program. The best way to move the file is to browse to the folder where your list file was saved and then Cutting and Pasting the *.esd file to a completely different folder, like your My Documents folder. As long as the file is moved, your database program will then be able to open with a new, blank database.

- Once you can open your database program successfully, you want to start a new file. Open a new file now by choosing the File menu.

- If your corrupted database was built from scratch with customized data fields, you will have to re-create that database structure again using the New Custom File option. Make the exact same data fields you used originally as the same data types and click OK when you're done.

- If your corrupted database was originally built from a pre-defined template, use the option New With Template. Select the same template you used originally and then click OK when you're done.

- Once you have your new, blank list file open, choose the File menu and select Import

- In the main browsing window of this Import dialog, change the Look In: drop-down box to My Documents. In there, you should find the file you just made from Excel. When you see it, left-click on it once to highlight it, then click the Open button.

- A dialog Use First Record for Field Names will appear. Click the Yes button on this dialog.

- A window Assign Import Fields will appear next. If the bottom-left dialog box for Fields in Import File is completely empty, then simply click the OK button. If the bottom-left dialog box for Fields in Import Filehas field name entries in it, you will need to assign those fields to an appropriately-matching field from the bottom-right dialog box for Fields in Current File. Do this by left-clicking to highlight a field entry inFields in Import File list, then finding its appropriate match and clicking on itin the Fields in Current File listing. When you do this, both entries should disappear from their respective lists and re-appear as a field assignment in the top dialog box (For example, you might need to click on First Name in the Fields in Import File listing and then click on its "match" in the Fields in Current File listing, which is First). Repeat this manual assignment process until you have assigned every field from the Fields in Import File listing (so that it is empty), or it contains the leftover fields you have decided you do not need. Click OK when you're done.

- Now, you should return to the Data Entry tab. Click on the Data Table Tab to view whether or not your data imported correctly. If you have matched up the fields properly in the previous step during the "Assign Import Fields" process, you should have your data back into the program in a file that is not corrupt.

- The data of your file will have transferred, but any customized output forms will have to be re-created as these will have been lost with your previous corrupted file.

- Save your re-built file by choosing the File menu and selecting Save As... Give your rebuilt file a name and save location in the browsing window and click Save when you are ready to save the file.


It may turn out that you cannot recover your data on your own using these methods. If you need to retrieve your data, please contact Technical Support for additional assistance.