Securing a database

J

J.Bennett

I have developed a database and want to provide it to other companies to use.
I do NOT want anyone to have access to make changes to the forms, reports,
queries, etc. I simply want them to be able to run the program. They will
need to be able to enter custsomer data (which enters into the customer
table).

In my research, I have found that a runtime version can be created by simply
changing the file extension from *.accd to *.accr . However, it gives me
very little confidence as I am sure other know to simply change the extension
and you can gain full access to all of the tables, forms, reports, etc.

Can anyone give me any guidance on how I can distribute this database while
ensuring the integrity will not be compromised? Any guidance/direction
would be appreciated.

Respectfully,
James Bennett
 
K

Keith Wilby

J.Bennett said:
I have developed a database and want to provide it to other companies to
use.
I do NOT want anyone to have access to make changes to the forms, reports,
queries, etc. I simply want them to be able to run the program. They
will
need to be able to enter custsomer data (which enters into the customer
table).

In my research, I have found that a runtime version can be created by
simply
changing the file extension from *.accd to *.accr .

I don't use A2007 but I doubt very much that that's the case.
However, it gives me
very little confidence as I am sure other know to simply change the
extension
and you can gain full access to all of the tables, forms, reports, etc.

Can anyone give me any guidance on how I can distribute this database
while
ensuring the integrity will not be compromised? Any guidance/direction
would be appreciated.

If you keep your app in the "mdb" format then you can apply user-level
security which will accomplish your requirements.

Keith.
www.keithwilby.com
 
C

Chris O'C via AccessMonster.com

It's almost true. Rename an accdb or accde extension to the accdr extension
and Access 2007 will open the app in runtime mode.

Chris
Microsoft MVP
 
J

J.Bennett

Chris,
I created my database in ACCESS 2007. I am NOT familiar with user level
security (which really doesn't matter since it is not an option in 2007). I
have compiled the database, changed the options for "This Database" so that
the layout view cannot be accessed, created the executable file (*.acce),
etc. Everything works fine.

However, a user can very easily change the settings from the "Quick Bar"
menu to go back and view the navigational pane, which then gives them access
to the tables to view in sheet view, which can be modified.

I would like to prevent anyone from accessing any of the reports, queries,
forms, and all the tables except for one. My database has multiple tables
that the user selects the primary item for use, and other tables to select
options. All this information is stored into a "CustomerInformation" table.
It is the customer information table that stores all the inputs entered by
the user. As such, this one table must be able to have information added by
the user.

How can I secure this database so that no-one can change any of the other
tables, any of the forms, reports, queries, etc.?

Any help would be appreciated.

Respectfully,
James Bennett
 
C

Chris O'C via AccessMonster.com

You need user level security because compiling it into an accde will only
prevent the users from changing the forms, reports and modules, not the
tables and queries.

Access 2007 supports user level security as long as it's in Jet db format,
not ACE db format. Convert it to an mdb, secure it, then convert that to an
mde and distribute that.

If you decide you can't convert it to mdb format, what features in the accdb
can't you live without?

Chris
Microsoft MVP
 

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