Preventing Users accessing in design mode

G

Guest

Hello,

Bit of a long shot, but hoping someone out there has a solution to my problem.

I have created a database that is going to sit in a folder on a shared
drive. A large number of users will have acces to the database and I want to
ensure that it is secure as possible, my concern is that anyone with a little
knowledge will be able to open the database in design mode by holding down
the shift key while its opening.....is there anything I can do to prevent
this?

Also the queries run incredibly slow over the network, is there anything I
can do to improve performance?

Thanks
Wayne
 
J

Joan Wild

Wayne said:
I have created a database that is going to sit in a folder on a shared
drive. A large number of users will have acces to the database and I
want to ensure that it is secure as possible, my concern is that
anyone with a little knowledge will be able to open the database in
design mode by holding down the shift key while its opening.....is
there anything I can do to prevent this?

If you're just looking to keep the idle curious out, there are a number of
things you can do:

Backup your database; you can easily lock yourself out playing around with
these features.

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)

As you indicated, users may know about the shiftkey bypass. 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 design
changes to forms, reports and modules (If you do this, be certain to keep
your original mdb in case you need to make changes). Tools - Database
Utilities - Make MDE.

You can also hide the share where the database is located, so that users
can't easily find it (if they know the path though, they can get to it).
\\server\share$ rather than \\server\share

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.
Also the queries run incredibly slow over the network, is there
anything I can do to improve performance?

You should split the database into frontend/backend. The backend (just the
tables/relationships) is put on the server. The frontend (all other
objects) contain links to the tables in the backend. Distribute a copy of
the frontend to each user.
 
S

Shaun Beane

This document may help you. The only way to do this is to create the
AllowByPassKey property to the database using VBA.

http://www.mvps.org/access/general/gen0040.htm

A few things to research on your performance. Is your database split
(frontend/backend)? Is your database normalized correctly? Have you
indexed any of your tables? All three of these are the most common design
flaws that will come to light when you start using your database on the
network.

Maybe some other users have feedback on your query performance as well?
 

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