cannot open database -sporadic message

C

Cvi Solt

In access 2003 - Windows XP SP2, users get sporadic messages "Microsoft JET
Database Engine --> Cannot open database"
This happens several times a day, not while signing in but during normal
work. They can go on working after the message
 
A

Arvin Meyer [MVP]

There may be a slight corruption. I would try to fix it before there is a
serious problem:

First, always work on a copy of the database. Working on the original may
make it impossible for a repair service to fix it.

Download a copy of JetComp.exe:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;273956

Try backing up your forms as text with the undocumented SaveAsText
LoadFromText functions:

http://www.datastrat.com/Code/DocDatabase.txt

Also have a look at the Microsoft KB article:

http://support.microsoft.com/default.aspx?scid=kb;EN-US;209137

Then have a look at Tony Toews' Access Corruption FAQ at:

http://www.granite.ab.ca/access/corruptmdbs.htm

for some suggestions. Unfortunately, some corruption cannot be fixed - you
may need to create a new database, import what can be salvaged, and recreate
the rest.

Although it's a paid service, Peter Miller does an outstanding job of saving
corrupt databases. Try this URL:

http://www.pksolutions.com
 
C

Cvi Solt

Thanks for your answer.

I didn't know about the SaveAsText , LoadFromText functions.
Just one more question for now:
Which is more likely to have that slight corruption - the database on the
server with almost all tables , or the one with the forms,reports and queries
on the computer of the users?

Cvi
 
J

John W. Vinson

Thanks for your answer.

I didn't know about the SaveAsText , LoadFromText functions.
Just one more question for now:
Which is more likely to have that slight corruption - the database on the
server with almost all tables , or the one with the forms,reports and queries
on the computer of the users?

The odds favor the frontend... especially if you have multiple users *sharing*
the same frontend. Each user should have a personal copy of the frontend, and
it should not be on the server (well, keep a clean copy on the server to
download to the users' computers when they need it).
 
C

Cvi Solt

Thanks,


John W. Vinson said:
........

The odds favor the frontend... especially if you have multiple users *sharing*
the same frontend. Each user should have a personal copy of the frontend, and
it should not be on the server

Everyone has his copy (we have at most about a dozen simultaneous users, but
more than 30 with the frontend on their computer)
..........
 
J

John W. Vinson

Just to clarify - the corruption could be in either the frontend or the
backend; if 30 users are all seeing the same error from their individual
frontends then the balance tips toward the backend. Might there be a corrupt
record (a memo field maybe) that only causes trouble when it's accessed?
 
C

Cvi Solt

:

..........
Just to clarify - the corruption could be in either the frontend or the
backend; if 30 users are all seeing the same error from their individual
frontends then the balance tips toward the backend. Might there be a corrupt
record (a memo field maybe) that only causes trouble when it's accessed?

Not necessarily - all 30 are copied from the same original which may be
(probably is) corrupt.
No, it is not a specific record - different persons don't go to the same
records.
Anyway, a have tried "saveastext, which seemed to work except for the queries.

Tomorrow I shall try to load everything in a new database.
Thanks again
Cvi
 
C

Cvi Solt

I am trying to do "saveastext" and rebuild a new database.

"For i = 0 To dbs.QueryDefs.Count - 1
Application.SaveAsText acQuery, dbs.QueryDefs(i).name,
"D:\Document\query\" & dbs.QueryDefs(i).name & ".txt"
Next i"

copied from the suggested URL, gives only names like
~sq_cparam~sq_cMiKodMiun
and none of the ordinary queries

What are these ~sq_
and why don't i get the ordinary ones?
 
J

John W. Vinson

I am trying to do "saveastext" and rebuild a new database.

"For i = 0 To dbs.QueryDefs.Count - 1
Application.SaveAsText acQuery, dbs.QueryDefs(i).name,
"D:\Document\query\" & dbs.QueryDefs(i).name & ".txt"
Next i"

copied from the suggested URL, gives only names like
~sq_cparam~sq_cMiKodMiun
and none of the ordinary queries

What are these ~sq_
and why don't i get the ordinary ones?

Well, that's certainly the hard way to go about it! Why not create a new
database and use File... Get External Data... Import instead?

The ~sq_ queries are the "hidden" queries Access saves if you use a SQL string
as the Rowsource for a combo box, or the Recordsource for a form.

Not sure why you're missing the stored queries.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top