We had a somewhat large record Access Database crash today, and had to be restored by our corporate office. The error message we kept getting when we tried to launch was:
The Microsoft Jet database engine could not find the object 'MSysDb'. Make sure the object exists and that you spell its name and the path name correctly.
The file name and extension was correct and had not been altered when we looked at it on the server, however we kept getting this message. We could not even import the tables, forms, etc. into a new file.
Any ideas what may have caused this, and how to prevent in the future?
Sounds like perhaps your DB became corrupted (fragged up).
Backup often. Suggest you have several different copies (5) each labeled differently, for example:
Monday night Backup: Mon_MyDBName.mdb
Tuesday night Backup: Tue_MyDBName.mdb
Wednesday night Backup: Wed_MyDBName.mdb
Thursday night Backup: Thu_MyDBName.mdb
Friday night Backup: Fri_MyDBName.mdb
This way, even if the last backup is found to be corrupted, you still can revert back to a backup from yet another day earlier.
Another note: During either development or even through general use the DB can get quite bloated. You find that the DB is getting larger and larger. What was 4 meg in size is now 12 meg. This can happen to both MS-Access Front-End and Back-End DB's. MS-Access Front-End DB's can be especialy notorious for this if placed into design view for whatever reason, some modifications are made, saved, then run once again. More often than not you will see the DB grow twice in size. Compact & Repair does get rid of some of this uneccessary overhead but it doesn't seem to clean up the code modules very well especially code no longer in use or deleted (it's not as deleted as you think it might be).
Compact and Repairing both your Front-End and Back-End DB's on a regular basis I think is always a good idea but to really get your DB cleaned up and into proper size follow these steps (try it, you'll be surprised):
1) Hold down the Shift key and start your Database. Keep holding the Shift key even after the Database window is displayed on screen.
2) While still holding the Shift Key, Select menu items Tools | Database Utilities | Compact and Repair. Keep holding the Shift Key through this process.
3) Once the Database Window is once again displayed to you, you can let go of the Shift key. Open any code module so as to display it in the Visual Basic Editor (VBE).
4) While in the VBE, select the menu item Debug | Compile YourDBName.
5) Finally, Compact and Repair the Database one last time.
6) Close the DB once the Compacting has completed.
Now open Windows Explorer (or whatever) and take a look at the File Size of your DB. By carrying out the above procedures, I've seen DB's drop to as much as a quarter of the size that they were before the procedure was done. To put it bluntly...MS-Access likes to store a lot of useless CRAP!
Last edited by CyberLynx; 09-08-06 at 02:15.
Self Taught In ALL Environments.....And It Shows!