Link to home
Start Free TrialLog in
Avatar of CCBIL
CCBILFlag for United States of America

asked on

disk network error in access database

An Access 2000 database, which has worked OK, is now giving a "disk or network error" when trying to view any tables.
Access 2003
XP pro sp3
Avatar of thenelson
thenelson

Check the security settings and share settings.
For databases on network computers, go to the level that is shared. Usually that is an entire drive. Right click on it and select "sharing and security". Make sure "share this folder" is selected and there is a share name that does not have a dollar sign ($) behind it in the drop down box. (The dollar sign share is a default share for administrator only.) If there is not one, add it. Select a share without a dollar sign. Select permissions. Make sure the users that will be using the db have change and read permissions.

Then right click on the folder(s) that contain the database(s) and select "sharing and security". Select security. Make sure the users have read, write, modify, and read & execute permissions. Select advanced. Edit the users that will access the databases. Make sure they have create files and delete permissions.

Then right click on the the database(s) and select "sharing and security". Select security. Make sure the users have read, write, modify, and read & execute permissions.

All databases are heavy network users. Running a multi user access database, all workstations should be running the xp or vista pro version. If you have less than about five workstations, you might get away with the backend being on a system running pro but more than that or with a complicated database, you need a domain and the server running a server os. Get up to a dozen heavy users or a couple of dozen light users and the server should be a true server and be dedicated to only serving the one database.
Avatar of CCBIL

ASKER

Security settings all check out, that's not the problem.
Next to check out would be a corrupted database.  I would not go past step 7 just suspecting a corrupted database. I include the additional steps for your future reference.

Steps (approximately in order) to use to fix a corrupted Access database. (Test after each step.)

1) CREATE A BACKUP OF THE CORRUPT DATABASE. (Just in case)

2) Compact and repair

3) Use jetcomp.exe  http://support.microsoft.com/default.aspx?scid=kb;en-us;Q273956

4) decompile: in run: msaccess "dbPathName.mdb" /decompile
   Compact/repair:  in run: msaccess "dbPathName.mdb" /compact
   compile: in VB editor: debug> compile
   Compact/repair
   http://www.granite.ab.ca/access/decompile.htm

5) Use a backup (you have a lot of those -- yes?)

6) If you can identify one or a few forms or reports causing problems, copy the problem form/report from a backup.  Or create a new form/report and copy all the objects in the old form/report to the new one. Copy the code from the old form/report using the undocumented
    Application.SaveAsText acForm, FormName, "C:\" & FormName & ".txt"
then paste that from Notepad into the new form/report.  If a module, copy the code using SaveAsText, create a new module, paste the code into the new module.

7) Create a new database, use File> Get external data> Import to get all objects of the damaged database and set up the options again.

8) Try a recovery tool:
   www.officerecovery.com/access/index.htm
   www.mvps.org/access/tables/tbl0018.htm

9) Hire a company to repair the database  http://www.pksolutions.com/services.htm

Additional information:
How to Troubleshoot/Repair Damaged Jet 3.0 and Prior Databases
http://support.microsoft.com/support/kb/articles/Q109/9/53.asp

How to Troubleshoot Corruption in a Microsoft Access Database
http://support.microsoft.com/default.aspx?scid=kb;en-us;306204

Corrupt Microsoft Access MDBs FAQ
http://www.granite.ab.ca/access/corruptmdbs.htm
In many cases, that specific error actually indicates corruption and has nothing to do with a disk or network, even if you are on a network.  *Usually, Decompile as recommended by nelson will fix this.  Here is a detailed DeCompile procedure to try:

A **DeCompile** may help here ...

But first, if you have not already:
Open the VBA Editor and from the menu ...Tools>>References ....
If you see any listed as **Missing: <reference name>, including the asterisks and the word Missing, the
you need to fix that first.

Then, follow this procedure:

****
0) **Backup your MDB BEFORE running this procedure**
****
1) Compact and Repair the MDB, as follows:
Hold down the Shift key and open the MDB, then from the menu >>Tools>>Database Utilities>>Compact and Repair ...
Close the mdb after the Compact & Repair.
2) Execute the Decompile (See example syntax below) >> after which, your database will reopen.
3) Close the mdb
4) Open the mdb and do a Compact and Repair (#1 above).
5) Close the mdb.
6) Open the mdb:
    a) Right click over a 'blank' area of the database window (container) and select Visual Basic Editor. A new window will open with the title 'Microsoft Visual Basic' ... followed by then name of your MDB.
    b) From the VBA Editor Menu at the top of the window:
       >>Debug>>Compile
        Note ... after the word Compile ...you will see the name of your 'Project' - just an fyi.

7) Close the mdb
8) Compact and Repair one more time.

*** Executing the DeCompile **EXAMPLE**:
Here is an **example** of the command line syntax  (be SURE to adjust your path and file name accordingly) before executing the decompile:

Run this from Start>>Run, enter the following command line - **all on one line** - it may appear like two lines here in the post:
Also, the double quotes are required.

"C:\Program Files\Microsoft Office\Office\Msaccess.exe" /decompile "C:\Access2003Clients\YourMdbNameHERE.mdb"

For more detail on the Decompile subject ... visit the Master on the subject (and other great stuff) Michael Kaplan:

http://www.trigeminal.com/usenet/usenet004.asp?1033

mx
Avatar of CCBIL

ASKER

The database was moved to a different server, and it seems that a line in the code is referencing the server (\\servername). Will a decompile allow me to change that code and recompile? The original uncompiled code is long gone.
ASKER CERTIFIED SOLUTION
Avatar of Michael Vasilevsky
Michael Vasilevsky
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Decompile is not a 'code changing' operation per se.  And if you have an MDE instead of an MDB then you cannot Decompile anyway.

mx
CCBIL:

Why did you accept an answer that is just a statement?  You never indicated you had an MDE?

Nor is the answer a solution ...

mx