Solved

How lock users out of the tables, queries, reports, etc.

Posted on 2016-08-24
4
31 Views
Last Modified: 2016-08-29
Is there a way to lock users out of the objects in the navigation pane?  I thought that by splitting the database and saving the front-end file as an accdb file this would work but I guess it doesn't.

Any tips?
0
Comment
Question by:SteveL13
  • 2
4 Comments
 
LVL 57
ID: 41769411
A bound and determined can get at things, but you can make it very difficult.  First your app should always be split, even if it's single user.

 Then distribute the "front end" as a MDE/ACCDE and turn off the database container and menus.  Force it into runtime mode by adding code at startup that quits if the app is not running that way.  

 That locks them out of all the design features, and because it is a MDE/ACCDE, they can't get at to code either.

Jim.
0
 

Author Comment

by:SteveL13
ID: 41769421
Jim.  Ok.  But questions:

1)  How do I turn off the database container and menus.  

and,

2) How do I force it into runtime mode by adding code at startup that quits if the app is not running that way.

--Steve
0
 
LVL 34

Assisted Solution

by:PatHartman
PatHartman earned 250 total points
ID: 41769425
If your users are not sophisticated, simply renaming the FE from .accde to .accdr will prevent them from entering design mode on anything.

PS  - Be very careful when using  an .mde/.accde that you retain the original .accdb in a safe place.  There is no easy way to recover the .accdb from an .accde.  There are services but you won't necessarily like what you get.
0
 
LVL 57

Accepted Solution

by:
Jim Dettman (Microsoft MVP/ EE MVE) earned 250 total points
ID: 41770161
<<1)  How do I turn off the database container and menus.  >>

 Start up options:   File, Options, current database, Un-check "Display Navigation Pane".

The menus are not available in the runtime version.

<<2) How do I force it into runtime mode by adding code at startup that quits if the app is not running that way.>>

If SysCmd(acSysCmdRuntime) = False then Application.Quit

Or

If SysCmd(acSysCmdRuntime) = False then
  MsgBox "This application can only be executed in runtime mode", vbOKOnly+vbCritical
  Application.Quit
End If

 If you want to message the user.

Jim.
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

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

895 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

16 Experts available now in Live!

Get 1:1 Help Now