I have created an example database to show how the Access application interface can be controlled in various ways.
Some of these methods can be used to make a database more secure.
It is intended to demonstrate that all of this is easy to do safely and without any issues arising
This item links to various posts in the thread:
The database is opened with form frmStart 'floating independently' on the desktop i.e. with the access application window hidden
Buttons on the form can be used to:
- show / hide entire Access application window
- show / hide navigation pane
- show / hide ribbon
- show / hide taskbar
- maximise the form to fill the entire screen (no title bar & no taskbar) - this only works for a popup form
- open another form with a related report. This shows how the print preview ribbon can be displayed whilst the report is open & hidden when it is closed
- open / close the VBE
Although it is highly unlikely that any single application would need to use all of these features, this is designed to show that all items can be toggled on / off independently without problems.
All code has been fully tested in Access 2010 & 2016.
In addition, each section of the code has been widely used in various production databases for several years.
The code used can be found in the modules:
- modDatabaseWindow / modNavPaneTaskbar / modRibbon
Some of the code is widely known e.g. hide navigation pane / ribbon.
Other parts are written by myself or other authors.
Where this is the case, those authors have been acknowledged.
This example database also includes:
- code to resize forms for any screen size & resolution (modResize module)
- additional functions in module modDesignFeatures
If you wish to use any of the code in your own projects, just copy the relevant module code including all author information as supplied
The VBA reference Visual Basic for Extensibility is required for certain additional functions listed in the module modDesignFeatures
e.g. CloseAllVBEWindows and for getting the procedure names in error handling code.
It can be omitted if you don't wish to use either of these
I hope this is useful to others
Do contact me if you have any questions or problems with the attached code