protect access database tables

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
cataliniAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

davidraresCommented:
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
cataliniAuthor Commented:
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
davidraresCommented:
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
Newly released Acronis True Image 2019

In announcing the release of the 15th Anniversary Edition of Acronis True Image 2019, the company revealed that its artificial intelligence-based anti-ransomware technology – stopped more than 200,000 ransomware attacks on 150,000 customers last year.

davidraresCommented:
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
cataliniAuthor Commented:
ok... i just need a medium security solution... no tables visible, no easy shift-key hack...

thanks
0
davidraresCommented:
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
davidraresCommented:
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
davidraresCommented:
Hey catalini,

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

Dave
0
cquinnCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cataliniAuthor Commented:
yes david... how can i stop the shift trick?
0
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
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
cataliniAuthor Commented:
how can i run the function code? thanks
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.