Error 3045

B

Brigitte P

Thanks for resolving my previous issue, things run fine
now on MY machine. However, when we start the multiuser
environment, I'll get Error 3045 "Could not
use "Admin";file already in use. When the other user
closes, things are fine.
What do I need to do? I'm aging before my time with this.
I converted the dbase from A97 to A 2000 to A2002,
compiled code, checked the DAO 3.6,repaired and compacted.
Thanks for your help.
Brigitte
 
J

Joan Wild

All users need create and delete permissions on the folder where the mdb
resides. This is so they can create/delete the associated ldb file. If the
first person in can't create the ldb, the mdb is opened exclusively.
 
B

Brigitte P

Thanks. That's what I thought it was, and the problem
resolved once the IT folks changed permissions. But you
gave us the reason behind it. Things start coming together
thanks to you wonderful experts.
Brigitte
 
B

Brigitte P

I forwarded your info to our IT people who set the folder level securities.
We had in our NT environment and Access 97 rights to the database folders
set to R/W/E but didn't allow delete, and this worked fine for years. Now
migrating to Windows 2000 and Access 2002, we encountered the 3045 error
until we changed to R/W/E/D. However, our IT folks were uneasy about users
being possibly able to delete whole folders so they removed the delete
permission, and things seemed to work also at least in the testing
environment with only 2 users connected (when we are finished we may have at
any time 30 to 40 users in the different databases. Now I want to clarify
(and I know this is not the Windows group).
The databases are in a folder on the network g:\Databases. Databases has
subfolders one for all backends and then one folder each for the respective
FE applications, thus the tree would be g:\databases\backend and the other
e.g. g:\databases\frontend for whatever application (obviously the FE is
linked to the BE). We usually put the FE on the local machines; the network
versions are my working copies. Under these circumstances, would the lbd be
written to the frontend on the local machine or backend on the network? (in
A97 it put one in each place, but we seem not to see a lbd in the backend
folder with A2002.)
Furthermore, must the user have delete rights on all levels or only on
subfolder level? And how can we prevent users who "snoop" in the network to
delete the folders when they have delete rights? I know that we are missing
something, but I don't know what because I'm sure that the good people at
Microsoft don't circumvent their own Windows securities with Access.
Thanks for clarifying and being patient with me.
Brigitte P.
 
J

Joan Wild

Hi Brigitte,
inline...

Brigitte said:
Now I want to clarify (and I
know this is not the Windows group).
The databases are in a folder on the network g:\Databases. Databases
has subfolders one for all backends and then one folder each for the
respective FE applications, thus the tree would be
g:\databases\backend and the other e.g. g:\databases\frontend for
whatever application (obviously the FE is linked to the BE). We
usually put the FE on the local machines; the network versions are my
working copies. Under these circumstances, would the lbd be written
to the frontend on the local machine or backend on the network? (in
A97 it put one in each place, but we seem not to see a lbd in the
backend folder with A2002.)

An ldb file is created in the same folder as the mdb. If there is a
frontend on each local machine and they are opening it, the ldb will be
created on the local machine. If you are working on the frontend on the
server, a ldb file will be created in the same folder as the frontend. As
soon as *any* frontend makes a connection to the backend, there will be a
ldb created in the backend folder (opening a frontend may not be enough;
you'd need to open a bound form or something to see the ldb be created in
the backend folder. If you aren't seeing a ldb created (even with one user)
for the backend, then that user does not have create permission on the
folder.
Furthermore, must the user have delete rights on all levels or only on
subfolder level?

They need it for the backend folder; since you are the only one modifying
the frontend copies on the server, you wouldn't need create permission for
the frontend folders on the server. I'm not sure why you have the frontends
on the server at all. You can just work on your local copy of the
frontend(s). Once you have an update, you'd copy it to the server for
distribution to users.
And how can we prevent users who "snoop" in the
network to delete the folders when they have delete rights?

You could consider hiding the share where the backend is i.e.
\\server\sharename$ rather than \\server\sharename. This will hide it in
Windows Explorer. If a user knows the path, they can still get to it if
they know how (so don't tell them the path).

Also you can give them delete permission on the folder, and then remove
delete permission on the files.

However when you compact the backend, it will inherit permissions from the
folder. So you have to remember to remove the delete permission each time
you compact it.
 
B

Brigitte P

Thank You Joan. I think we've got it.

Joan Wild said:
Hi Brigitte,
inline...



An ldb file is created in the same folder as the mdb. If there is a
frontend on each local machine and they are opening it, the ldb will be
created on the local machine. If you are working on the frontend on the
server, a ldb file will be created in the same folder as the frontend. As
soon as *any* frontend makes a connection to the backend, there will be a
ldb created in the backend folder (opening a frontend may not be enough;
you'd need to open a bound form or something to see the ldb be created in
the backend folder. If you aren't seeing a ldb created (even with one user)
for the backend, then that user does not have create permission on the
folder.


They need it for the backend folder; since you are the only one modifying
the frontend copies on the server, you wouldn't need create permission for
the frontend folders on the server. I'm not sure why you have the frontends
on the server at all. You can just work on your local copy of the
frontend(s). Once you have an update, you'd copy it to the server for
distribution to users.


You could consider hiding the share where the backend is i.e.
\\server\sharename$ rather than \\server\sharename. This will hide it in
Windows Explorer. If a user knows the path, they can still get to it if
they know how (so don't tell them the path).

Also you can give them delete permission on the folder, and then remove
delete permission on the files.

However when you compact the backend, it will inherit permissions from the
folder. So you have to remember to remove the delete permission each time
you compact it.
 

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

Similar Threads


Top