User level security question re: front-end/back-end

G

Guest

I have a database with a back-end and two different front-ends.
One front end needs to be protected in such a way that all users can only
read tables, no edits or updates are allowed even via queries. Can this be
done without affecting the other front end which may read, update and delete
the same data? Or does all security have to be applied to the back end?
 
J

Joan Wild

mscertified said:
I have a database with a back-end and two different front-ends.
One front end needs to be protected in such a way that all users can
only read tables, no edits or updates are allowed even via queries.

Usually you wouldn't allow users access to the tables at all. If all data
interaction is done via forms/reports, then you can use the properties of a
form to prevent additions/edits/deletions. Further steps would be required
to keep them out of the database window, such as...

Create custom menus/toolbars for use throughout your application.
Create a startup form (a main menu form if you have one) that is opened on
startup.
Use the features in Tools, Startup to
set the startup form
set your default menu (the custom one you made)
disable all the checkboxes about allowing built in menus, toolbars,
changes etc.
hide the db window (ensure the custom menu you create does not
include the Windows, Unhide item)
Click on the Advanced button and uncheck the allow special keys
(this will disable the F11 key, among others)

If you need to bypass these startup features, you can hold the shift key
down while you open the db. If you feel that your users may use this to
bypass your settings, you can disable the shift key bypass - there's an
example in help for doing this(look for AllowBypassKey) or at
http://www.mvps.org/access/modules/mdl0011.htm
and
http://www.mvps.org/access/general/gen0040.htm

You can also create a MDE from your database, which will prevent changes to
forms, reports and modules (If you do this, be certain to keep your original
mdb in case you need to make changes).

None of this will keep the determined out. All they need to do is start a
new db and link to your's, but this may suffice for your purposes.
Can this be done without affecting the other front end which may
read, update and delete the same data? Or does all security have to
be applied to the back end?

If you want to, you can implement security on the frontend without affecting
the second frontend. However you'll want to hide the backend from nosy
users, which still isn't completely safe. It depends how savvy your users
are.
 

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