DB needs repair or isn't a db file

P

Paula

Users of one Access 2000 database on our network
continually receive the message "The database "..(actual
name here)..." needs to be repaired or isn't a database
file. You or another user may have unexpectedly quit
Microsoft Access while a Microsoft Access database was
open. Do you want Microsoft Access to attempt to repair
the database?" They are locked out of the database at this
point. We then run the repair and it works fine for a day
or two and then the message reappears. Everyone insists
they are not doing a hard shut down and are exiting
properly. I searched Microsoft TechNet and found
nothing. Help?
 
B

Brett Thompson

Dear Paula,
I have the same problem in my network. It seems to be originating from the
network causing damage to the open database, and in my experience typically
happens when a user closes their copy of the database (appropriately, not by
turning off their computer) while other users are still open. If only one
workstation is on the problem does not occur and it can be closed with
impunity.
I will be very interested to hear what anyone has to say about this.
Regards,
Brett
 
T

Tony Toews

Paula said:
Users of one Access 2000 database on our network
continually receive the message "The database "..(actual
name here)..." needs to be repaired or isn't a database
file. You or another user may have unexpectedly quit
Microsoft Access while a Microsoft Access database was
open. Do you want Microsoft Access to attempt to repair
the database?" They are locked out of the database at this
point. We then run the repair and it works fine for a day
or two and then the message reappears. Everyone insists
they are not doing a hard shut down and are exiting
properly.

Is that A2000 database the only database using that server? If so I'd
suspect OpLocks. If there are others using by multiple users at the
same time then that likely isn't the problem.

For more information on corruption including possible causes,
determining the offending PC, retrieving your data, links, official MS
KB articles and a list of vendors who state they can fix corruption
see the Microsoft Access Corruption FAQ at
http://www.granite.ab.ca/access/corruptmdbs.htm

Is that MDB split into a FE/BE? If not then that's something to do.

You want to split the MDB into a front end containing the queries,
forms, reports, macros and modules with just the tables and
relationships. The FE is copied to each network users computer. The
FE MDB is linked to the tables in the back end MDB which resides on a
server. You make updates to the FE MDB and distribute them to the
users, likely as an MDE.

See the "Splitting your app into a front end and back end Tips" page
at http://www.granite.ab.ca/access/splitapp/ for more info. See the
Auto FE Updater downloads page
http://www.granite.ab.ca/access/autofe.htm to make this relatively
painless.. It also supports Terminal Server/Citrix quite nicely.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 
G

Guest

They have many databases running on that server so I don't
think that is the issue. All of our custom databases are
split into Front End and Back End so that rules that out
too. I will check out the web site you referred to and
see if I find anything there. Thanks for your help.
 
T

Tony Toews

They have many databases running on that server so I don't
think that is the issue. All of our custom databases are
split into Front End and Back End so that rules that out
too. I will check out the web site you referred to and
see if I find anything there.

Two other things could be the problem then.

1) Compact and repairing can still leave minor corruption which can
get worse. So you should be importing all the objects into a new MDB
after corruption to ensure they are clean.

2) Possibly one of your workstations has a different version of Jet
4.0. Make sure you have the latest Jet 4 Service Pack installed.

To determine if you have the latest version of Jet installed you
search on msjet40.dll on your system. You should only find the one
in your WIndows\System 32 directory. When you right click on the
file >> Properties >> Version you can see the version number.

Jet 4.0 SP 6 - 4.0.6218.0
Jet 4.0 SP 8 - 4.0.8015.0
Microsoft Security Bulletin MS04-014 - 4.0.8618.0

For a somewhat complete list of msjet40.dll versions see
How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0
Database Engine
http://support.microsoft.com/default.aspx?kbid=239114

If Windows XP ignore the msjet40.dll files found in the following
directories:
C:\WINDOWS\LastGood\System32
C:\WINDOWS\ServicePackFiles\i386

If Windows 2000 ignore the msjet40.dll files found in the following
directories:
C:\WINNT\ServicePackFiles\i386

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
 

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