Help - Some users cannot open the database after compact/repair

G

Guest

I have an Access 2000 database on a single shared computer. Ther is one administrator and two users with limited (windows XP) authority. The Access database was in a shared folder. Everyone could open it fine

Then I compacted/repaired the database. Now only the administrator can open the database - users with limited priveleges can no longer open the database. Error messages include "Database not found" even when they click on it, or "You donot have sufficient permissions"

How can I get the users with limited rights to open this database?
 
J

Joan Wild

raymartin said:
I have an Access 2000 database on a single shared computer. Ther is
one administrator and two users with limited (windows XP) authority.
The Access database was in a shared folder. Everyone could open it
fine.

All users of the database need full permissions on the folder in order to
create the associated ldb file.
Then I compacted/repaired the database. Now only the administrator
can open the database - users with limited priveleges can no longer
open the database. Error messages include "Database not found" even
when they click on it, or "You donot have sufficient permissions".

When you compacted, the new mdb inherited permissions from the folder. You
need to change the folder permissions as above. You can then limit
permissions on the mdb file. However, everytime you compact you'll have to
reset the permissions on the file.

Have a look at
http://www.trigeminal.com/usenet/usenet028.asp?1033
 
G

Guest

Joan - all users have permissoins on the folder. the database is not secured, and all non-compacted databases in the same folder work fine

I tried to remove permissions on the folder, and then re-apply them - same result

I cannot find a option to set share permissions on the database itself - just the folder. Perhaps I'm not doing it right - but the only options that XP offers me is to fully share the folder for all users - or not share the folder at all. Is there something that I'm missing?
 
J

Joan Wild

raymartin said:
Some more info: the database is NOT secured. There are no passwords.
Other non-compacted databases in the same folder open just fine.

And I wasn't referring to database security, but Windows permissions.

All users need full permissions on the folder in order to be able to create
and delete the associated ldb file. If the first person in doesn't have the
create permissions, then the ldb can't be created and the database is opened
exclusively.

http://support.microsoft.com/default.aspx?scid=kb;en-us;295234&Product=acc
http://support.microsoft.com/default.aspx?scid=kb;en-us;278396&Product=acc
http://support.microsoft.com/default.aspx?scid=kb;en-us;208778&Product=acc
 
J

Joan Wild

raymartin said:
Joan - all users have permissoins on the folder. the database is not
secured, and all non-compacted databases in the same folder work
fine.

I cannot find a option to set share permissions on the database
itself - just the folder. Perhaps I'm not doing it right - but the
only options that XP offers me is to fully share the folder for all
users - or not share the folder at all. Is there something that I'm
missing?

I believe that you do this via the Security tab - (right-click on the
folder). Also, be sure to click on 'Advanced' and check beside 'Reset
permissions on all child objects....'
 
G

Guest

I'll try that option under the advanced tab and let you know how it works. Thanks for your help
 
G

Guest

Joan I'm afraid there is no such option under the advanced nor any other sharing or security tab. I'm using WIN XP PRO, and when I right-click I get tthe following screen

Local Sharing and Security: (A checkbox to make the folder private is unchecked

Network Sharing and Security
-Share this folder on the network is checked, and a share name is provide
-Allow network users to change my files is checke

There are no other options, buttons or tabs of relevance. I am not on a domain, but I do have a workgroup

It really seems to be an ACCESS-specific thing depsite the previous link that you sent me. It's obvious that the rights/permissions/links/workgroups that MS Access uses when you create a database are not the same after you compress/repair the database

Any other ideas?
 
G

Guest

FIXED!

One of the links that you gave me provided the answer, and its based on the way that MS Access inherits permissions (but ONLY when doing a compact/repair) - which vary by version of MS Access. In 2000 it uses some kind of TEMP folder permissions as shown in the extract below

------------------------------------------------------------------------------------------------------------------------
Access 2000
In Microsoft Access 2000, the newly created file automatically inherits the default NTFS permissions of the TEMP folder that corresponds to the currently logged-in user account.

To obtain the path of the TEMP folder that corresponds to the currently logged-in user account, type Echo %TEMP% at the command prompt.

Note By default, the path of the TEMP folder is C:\Documents and Settings\<UserAccountName>\Local Settings\Temp where <UserAccountName> is the name of the user account that is currently logged in.

------------------------------------------------------------------------------------------------------------------------------
So what I did was to find this "hidden" folder, set the permission to "SHARE" go back to the database, compress/repair - and it worked. Then I reset the hidden folder so it's not shareable anymore.

With MS Access 2002 + older the compact/repair inherits from the parent folder of the folder owning the database.

This means that the inheritance behaviour is not based on the OS - but on the version of MS Access!. It also means that the link you provided where that person checked the source code and said the MS Access does not "do" anything is not correct.

Thanks for your help!
 
J

Joan Wild

raymartin said:
FIXED!

One of the links that you gave me provided the answer, and its based
on the way that MS Access inherits permissions (but ONLY when doing a
compact/repair) - which vary by version of MS Access. In 2000 it uses
some kind of TEMP folder permissions as shown in the extract below

You are correct. I recently learned that 2000 acts differently, and missed
that you were using that version.

But 2002+ and 97 and previous all use the folder where the mdb is rather
than the Temp folder.
It also means that the link you
provided where that person checked the source code and said the MS
Access does not "do" anything is not correct.

I think it is correct. It isn't Access that is doing something, it is the
way that the compact is being done. Prior versions (and newer ones) use the
same folder as the mdb, while 2000 is using the temp folder.
Anyway, glad you got it sorted.
 

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