Solved

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

Posted on 2016-08-24
4
33 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 35

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

Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

Question has a verified solution.

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

Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

770 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