Database won't open

AC5FF

Registered User.
Local time
Yesterday, 22:56
Joined
Apr 6, 2004
Messages
552
This morning I came into work to find a huge note on my monitor - Database Down. (Don't you all LOVE Mondays??)

When I attempt to open the database I get this error:

"The Microsoft Access database engine could not find the object 'MSysDB'. Make sure the object exists and that you spell its name and the path correctly."

I have never seen this error before and am unsure of where to look to solve it. But, it has to be something within the actual DB file. I do backups nearly daily. My latest backup works just fine. No errors. If I try to import my "work" table from the original though I get the same error.

Any ideas?
 
i would assume some sort of corruption

so, replace the dbs from your backup

------------

the assumption behind this is that
a) your database is split front end/back end
b) each user has his own copy of the front end
c) you have a back up

if not, then sorry, but you may have some problems.

one solution may be - create a new dbs, then try and import everything into the new dbs - if this works then do the splitting stuff as above
 
Dave;
Still working out the issue w/ FE and BE, so no, the DB is not split.
I do have the backup - and that is running fine. But creating a new DB and trying to import tables from the corrupt one gives me that same error. I'm just not sure what that 'MSysDB' is. Since the backup works fine it has got to be something within the DB -but where to look??
 
there most definitely is a corruption, and you run the risk of trashing all your data - you should ensure noone uses this until it is fixed - you should do a windows copy of the dbs before you touch it

if your backup is recent and useable, then you could go back to that, although you will have to reenter any thing that changed in the meantime which may be difficult

the msys tables are internal tables access uses, and problems with them point to corruption. in some circumstances you can repair the data, but it depends on what access will let you do

read threads on here on why splitting databases is vital - using and sharing unsplit databases creates conditions that make corruption much more likely
 
Any ideas on how i can gain access to the Msys tables? I looked for them - but came up blank.

You know - this DB has been up and running for nearly 10 yrs now. Yeah, it's crashed a few times over the years - and thanks to hourly backups via windows scheduler - it was always easy to take care of. But, we're only talking maybe 4 or 5 serious problems in all that time.

When I started taking over the mgmt of this DB I started coming here for help because I was fairly 'green' at using Access. I was told many times (by you as well :D) that I should split the DB. Well, I gave it a look, but decided it was just not worth it for me. Expecially as well as this DB was running. Besides that, when I did try to split the DB it would never work. Regardless if I split it myself or used the wizard. It would not work at all.

Then came our IT people and upgraded a few of our machines to Vista....
(I could probably just stop here! LOL)

Now I'm fighting serious crashes weekly to daily. Today's is the worse I've seen. I usually can access the data somehow - but I can't get anything now. :( If today wasn't the last straw, well, I can say that I'm 100% for splitting now. I had given it a try again a week or so ago - and it worked! Don't know why, didn't do anything different, but it worked :D I've been testing that as I have time, but just haven't had the time to implemnet it yet. I will probably have to go in over a weekend and do that.

I think it was Bob Larson (hope i got that name right) posted a link a while back for automated updates when I change somethng. While my 'test' DB is pretty much ready to distribute, I haven't had a chance to try out this code he wrote. I am planning on some of that today/tomorrow. I'm stuck at home now due to blizzard conditions - gives me something to do. :D

If anyone has pointers on implementing this 'auto update' code into a DB I would love to hear about it.
 
Any ideas on how i can gain access to the Msys tables? I looked for them - but came up blank.

You know - this DB has been up and running for nearly 10 yrs now. Yeah, it's crashed a few times over the years - and thanks to hourly backups via windows scheduler - it was always easy to take care of. But, we're only talking maybe 4 or 5 serious problems in all that time.

When I started taking over the mgmt of this DB I started coming here for help because I was fairly 'green' at using Access. I was told many times (by you as well :D) that I should split the DB. Well, I gave it a look, but decided it was just not worth it for me. Expecially as well as this DB was running. Besides that, when I did try to split the DB it would never work. Regardless if I split it myself or used the wizard. It would not work at all.

Then came our IT people and upgraded a few of our machines to Vista....
(I could probably just stop here! LOL)

Now I'm fighting serious crashes weekly to daily. Today's is the worse I've seen. I usually can access the data somehow - but I can't get anything now. :( If today wasn't the last straw, well, I can say that I'm 100% for splitting now. I had given it a try again a week or so ago - and it worked! Don't know why, didn't do anything different, but it worked :D I've been testing that as I have time, but just haven't had the time to implemnet it yet. I will probably have to go in over a weekend and do that.

I think it was Bob Larson (hope i got that name right) posted a link a while back for automated updates when I change somethng. While my 'test' DB is pretty much ready to distribute, I haven't had a chance to try out this code he wrote. I am planning on some of that today/tomorrow. I'm stuck at home now due to blizzard conditions - gives me something to do. :D

If anyone has pointers on implementing this 'auto update' code into a DB I would love to hear about it.


MySys tables are system tables that can be made visible by going to:
Tools --> Options --> View Tab. Make sure the "System Objects" is checked.

You can also try to compact & repair the existing database using vba. Do a search in the forums. There's also a jet compact utility you can try. I've used it a few times with about 50/50 success. Here it is: View attachment Jet.zip

If the DB is 10 years old, you may want to import everything from the old platform into a newer version of Access.

Like others, I also highly recommend splitting the DB. Bob's update utility is awesome. But to start, if the db is already in use, you won't have many changes to make the split. Add the updater later.

Good luck
 
Just more FYI than anything else...

The DB that I was trying to repair is shot. I've done the VBA compact, tried teh Jet utilities, etc etc... I have basically given up.

I am to the point now that I have to travel to the location and rebuild the DB from scratch. Not a fun proposition... but, might be able to pocket a few extra $$ :D
 
If that is the case remember to start off with a split database before rebuilding the application. I would suggest pre Access 2007 to get the app working again, then beta test it. Then upsize to 2007 and if poossible run in tandem. Then if all is well drop the earlier version.

David
 
Dave;
I'm just not sure what that 'MSysDB' is.

MSysDb is the last record in the system tbl "MSysObjects".

Try the following:
Create a blank db, go to Tools-> Options -> View and tick "System Objects". You will see 5 Sys tbls shown, but not "MSysObjects". Create a 1fld tbl and put 1 record in it. Unload and reload the db and "MSysObjects" has been created (a RO tbl). Go to the last record and you will see "MSysDb" as a fld in that record.

This record disappearing is always a sign of corruption (a fatal error) and the db will be unusable.
 

Users who are viewing this thread

Back
Top Bottom