Microsoft Access database applications are normally planned, designed and built using the standard single file format in either .MDB or the newer .ACCDB (Access 2007/2010) and then distributed with all the objects (Tables, Queries, Forms, Reports, Macros and Modules -VBA code) fully accessible with the standard default settings applied.
To help lock down and prevent certain objects especially Forms, Reports and any code being modified (via the design mode), you can convert your database file into an ‘executable‘ file format where the .MDB becomes a copy as an .MDE and the .ACCDB to a .ACCDE.
This will protect and seal the database file which is better than deploying just the open file format into either an Access runtime or the full version of Access still allowing users to be able to utilise, store and process data as well as run the other objects as normal.
It is a quick and easy fix solution knowing that the executable version (which is always a copy of the original) can not be tampered with and re-compiled when new object changes are added.
What are the Benefits of an ‘Executable’ File
The following points highlight the main benefits of using either the .MDE or .ACCDB file format:
- Since the code is compiled and objects are sealed, the overall file size will be reduced and therefore improves the performance.
- Users still benefit from the all the code procedures included with the file conversion file with no compromise in functionality .
- Basic security is applied due to objects being locked and sealed and do not require any Access user-level security (where available).
- Capturing data and running reports is all that users really need to handle as this file format caters exactly for it.
- Objects (forms, reports and vba code modules) cannot be imported or exported as this feature is locked too.
MDE in Access / ACCDE File Requirements
There are some pre-checks prior to converting a file and following (where applicable) should be noted:
- If Access user-level security is in place, then make sure the user creating the file has access rights to do so which would normally be an administrator as they should have access to all objects.
- Make sure all user-level security is correctly set before converting as you will not be able to change profiles later.
- If you have Replication added to your database file (a useful tool to keep versions up to date), this will not be available as the two are not compatible – so remove it first.
- Any external add-ins or references (for any VBA code) needs to be added into the executable file format otherwise they will be unavailable which may affect functionality
How to Convert a Microsoft Access Database to an MDE / ACCDE File
Whichever version of Microsoft Access database you are using, understand that the original file format is never lost (as it is copied) and you use the same open (normal) file format to re-compile the new executable each time.
In Access 2003 (or earlier), the “Database Utilities, Make MDE” command is located under the “Tools” menu. Follow the prompts – it’s that easy.
In Access 2007, Locate the “Database Tools” tab on the Ribbon Bar and under ‘Database Tools’ section there is a “Make ACCDE” icon. Complete the ‘save as’ prompt.
In Access 2010, from the “File” tab which takes you into the ‘Office Backstage’ you will see the tab “Save & Publish” where the option the “Make ACCDE” is one of the ‘save as’ options.
Bonus Tip: You may wish to consider splitting the database into two separate files; one as the ‘back-end’ for your tables only and the other as the ‘front-end’ for all the other objects. This will help to keep your data separate from any potential misuse as the ‘front-end’ is linked to the ‘back-end’ and can be distributed without fear of losing data.
Written By Ben Beitler
Tags: accdb to accde conversion, access database utilities, Access Help, access in mde, converting access to accde, converting access to mde, make accde, Make mde, mdb to mde converion, microsoft access database
Man thanks!!
Theres a terrific amount of knowledge in this atricle!
This article will useful to me. as I am student and using this access for small projects.
Does anyone know how to accomplish this stated requirement: “Any external add-ins or references (for any VBA code) needs to be added into the executable file format otherwise they will be unavailable which may affect functionality.” I have run into this problem. When distributing an accde file, my references are lost once deployed on the target computer.
Hi, You will need to either code (with VBA) to locate and plug the Add-in into the database or if you want to create an add-in for wide spread use outside your control then you should consider creating the MDE as an add-in with the USysRegInfo table. see the following link to get your started: http://support.microsoft.com/default.aspx?scid=kb;en-us;Q201735
It’s not a straight forward process (I’m affraid) unless you have a shared network path where the Add-In can reside and all desktops have a reference to it.
It’s actually a cool and useful piece of info. I am satisfied that you shared this useful information with us. Please stay us informed like this. Thanks for sharing.
Thanks!!! Just what i needed to knw…thx alot for sharing
I’m looking for a way to create the accde via vba code from the same database or from vba in another database. Thanks!
You can create a DB, tables and other objects with VBA. The first VBA keyword is to look up (search on Google) ‘Access VBA CreateDatabase’ and see sample code to adapt.