Solved

protect access database tables

Posted on 2007-03-30
12
1,493 Views
Last Modified: 2008-01-09
I would like to protect my access database so that users would be able to use the forms, but not access the full tables behind the database... which is the best way to got? thanks
0
Comment
Question by:catalini
12 Comments
 
LVL 2

Expert Comment

by:davidrares
ID: 18822328
Hi,

as far as I know you cannot offer a full protection for tables.
But you can protect them both against the opening the database with the Shift key (let me know if you need help on this Shift key topic).

good luck,
Dave
0
 

Author Comment

by:catalini
ID: 18822335
i would like to avoid opening tables, user should use my forms to access data on the mdb file. How secure is this stop-shift key function? thanks!
0
 
LVL 2

Expert Comment

by:davidrares
ID: 18822338
Well you know you can open any database and view directly the Database window (the one where all MSA objects are visible) if you keep the Shift key pressed while opening. This provides a quick way to the users to access your tables.

What I can provide is a small piece of code or idea how to prevent the database to open when the Shift key is pressed. So, even with the Shift key pressed the application will not open, but will close itself instantly.

An experienced user with programming knowledge (or one which reads this discussion of ours ;-)) can write a different piece of code to enable this Shift Key opening again.

Dave
0
 
LVL 2

Expert Comment

by:davidrares
ID: 18822342
And you can also hide the tables. But once again if the user changes his MSA settings to view also the hidden tables will be able to see and modify them.

But anyway it's just another small fence for the malicious users. ;)

Dave
0
 

Author Comment

by:catalini
ID: 18822346
ok... i just need a medium security solution... no tables visible, no easy shift-key hack...

thanks
0
 
LVL 2

Expert Comment

by:davidrares
ID: 18822360
Ok,

should i provide the Shift key solutions here?
I don't know if we are allowed to communicate otherwise, via some kind of private channel or smth... Maybe one EE Administrators can help...
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 
LVL 2

Expert Comment

by:davidrares
ID: 18822377
Hiding the tables: just right click the tables and go to Properties. Select the "Hidden" check box. This is how you hide a table. I hope know how it's possible to view the hidden tables.

Dave
0
 
LVL 2

Expert Comment

by:davidrares
ID: 18822443
Hey catalini,

can I post the advice regarding the Shift key here directly? Is it ok for you?

Dave
0
 
LVL 15

Accepted Solution

by:
cquinn earned 250 total points
ID: 18822499
You can also set the tables as system tables - call them uSys<tablename> and they wont appear in the table list unless the "Show system tables" option is selected
0
 

Author Comment

by:catalini
ID: 18822549
yes david... how can i stop the shift trick?
0
 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 250 total points
ID: 18822555
You can implement User Level Security (ULS), implement RUn With Owner Permissions (RWOP) queries and then remove all permissions from tables. This is as good as it gets with Access (and even then, a dedicated hacker with a few bucks and a search engine can buy a program that will disable your security) but isn't really easy to implement.

Instead, a combination of startup options and disabling the Shift key, along with making your tables hidden, are generally enough to thwart most users. YOu can disable the shift key by using the code at this link:

http://www.mvps.org/access/modules/mdl0011.htm

From there, click Tools - Startup and clear the checkboxes for pretty much all the options except perhaps Display Status Bar. Build your own menubar and set it as the default. Make sure you have a startup form set

Next, follow david and cquinn's suggestion of hiding the tables.

Finally, if your database is split (and it DEFINITELY should be split into frontend/backend) then add a startup form to your backend with this code in the Load event of that form:

Sub Form_Load()
  Application.Quit
End Sub

This will immediately end the session as soon as that form loads (which is immediately). You'd want to also disable the ShiftKey on that database as well, but be aware that you'll need some method to re-enable it or you wouldn't be able to get back in. YOu can do this from a separate database if desired.

0
 

Author Comment

by:catalini
ID: 18822649
how can i run the function code? thanks
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In Debugging – Part 1, you learned the basics of the debugging process. You learned how to avoid bugs, as well as how to utilize the Immediate window in the debugging process. This article takes things to the next level by showing you how you can us…
QuickBooks® has a great invoice interface that we were happy with for a while but that changed in 2001 through no fault of Intuit®. Our industry's unit names are dictated by RUS: the Rural Utilities Services division of USDA. Contracts contain un…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now