Always having a fear that someone may not copy your Access database data and its design. Well, you can easily overcome this fear by using the technique of the copy-protect Access database. Now the question arises what’s this copy-protect Access database technique.
This technique includes some basic and essential precautions any Access database manager must consider to prevent database from copying.
Let’s start exploring what tricks you should apply to protect Access database from copying.
Below mentioned guidelines are also important for keeping your Access database secure mainly when they are hosted in Cloud or any third party providers.
How To Protect Access Database From Copying?
1. Change User Permission In Access Database
MS Access allows its user to assign or remove permissions for accessing databases including the existing reports, tables, macros, forms and queries for security purposes.
Anytime a user can make a selection for assigning permission to other groups or users. But it’s compulsory to have information about those groups or user accounts in the workgroup information file.
You can follow the below steps to assign permission.
Tap to the ‘Tools’ option. After then from the security drop-down menu choose the ‘User and Group permission’.
Now in the opened dialog box of ‘User and Group permission’ hit “permission” tab. Here you will see the option ‘Users or Groups’. Once you click this option, it will show enter users and groups present within the User/Group name box.
From the listed name of users and group choose the one whom you want to assign the permission.
Now from the Object Name box, choose the type of Object and its name to allow the permissions.
From this Object Name box either you can choose a single object or multiple numbers of objects. For choosing multiple objects keeps pressing the CTRL button while selecting the objects.
Alter complete selection of the objects now you can assign or remove permission as per your need.
Now it’s time to choose the “permissions” option and from the opened list assign whatever permission you to apply.
You will see many permissions are there, like “Read data” or “Read Design” permission, etc. so choose whatever you want to assign to your group or any user.
The same procedure is also applied for changing user permission in the Access database.
2. Monitor Your Database Activity
Always keep track of information when, how and by whom your database is been used. Keeping the whole history of database transaction help you in easy understanding of data access and changes patterns. Thus one can easily prevent fraudulent change in their database, avoid leakage of information, identify suspicious activity at the right time.
It’s the most important point of copy-protect Access database technique. You always have to follow this if you are sharing Access database on multi-user environment.
Another easy way to monitor your Access database users is by maintaining a list of all users name which are allowed to access the database.
In the beginning, retrieve the current username of the user’s current network and then match the name with your listed name. If it doesn’t match immediately close your application.
Note: when such a situation happens with me I immediately send a mail to the database admin.
3. Anonymize non-productive databases
There are many companies present who all invest their resources and time to safeguard their productive Access databases. But at the time of mounting a project or developing a test environment, what mistake they generally do is. They just make a simple copy of their original Access database and start using it in riskier environments which openly exposes all their sensitive data.
Anonymization or masking is a method through which an exact similar version of your database is been created, having the same structure as the original one. In this process, all your sensitive data are modified, so that it will stay protected.
All in all, through this technique, data values are being modified while preserving the format.
I recommend you to use this technique for such databases which you are going to use for testing and development. As it allows you for preserving the logical structure of the data. It also ensures that none of your sensitive client information will leak outside the production environment.
4. Password Protect Your Access Database Front-End
We all split access database for convenient use and better performance. But do you know after Access database splitting which part is the most vulnerable one?
The answer is, the front part of the Access database is the most vulnerable one. As it is not very secure and open sensitive information for hackers.
Just like your back-end database, always keep your front-end encrypted with a password. This will prevent prying eyes or any other third party user to achieve complete control over the raw data of your database.
Also, try to set different passwords for the backend and front of your access database. Doing so will ultimately protect Access database from copying.
5. Distribute a Compiled FE to your End-Users
Another very important step you all should implement to prevent database from copying is distributing compiled versions of database front-end to the end-users.
For doing this you need accdb/mdb files into accde/mde file format. This will lock down some of your objects within the database.
Users can’t open the report or form of your database in the design view nor anyone can access your VBA coding.
mde/accde format access database file don’t lock up your queries, macros or tables.
Since all the VBA coding is in hidden mode and completely locked for accessing. So if any unhandled errors occur then your database application will be crashed automatically.
You can say distributing the compiled Front-end works like bulletproof protection throughout all of your VBA codings.
Hence the crucial importance of bulletproof error handling throughout all of your VBA code.
So, by sharing the compile version of your Access database front-end you can easily minimize the mess around your database i.e. chances of being copied.
6. Hide The Navigation Pane
Protecting VBA coding is just not enough, locking down macros, queries, and table of your Access database is equally important.
To take necessary steps regarding this, you have to limit user’s permissions in Access database. So, that any anonymous person can’t get into such sections of your database where they shouldn’t do any changes.
You can do this simply by hiding the Navigation Pane. In this way, you easily can remove the ability of user to access your database objects.
7. Hide Individual Database Objects
After taking important steps of hiding the Navigation Pane. Another very important task left to do is; hiding each individual object of your database.
For this, you need to change each individual MS Access object’s hidden attribute to TRUE. Doing this will make your database objects completely hidden. Users can’t make any changes in your database nor can they copy any of your database objects.
Steps to hide a group or an object
- For hiding up individual Access database object, make a right-click on the object which you want to hide.
- After then hit on the “Hide in this Group” option.
- If you want to hide the entire group of objects, then go to the main object group name.
Suppose within the table group you have created so many tables. Then, in that case, you have to click on the “Tables” for hiding the complete group item at once.
- Right-click on the main object group name and from the listed option choose the “Hide” option.
8. Encrypt The Database With Password
Yes, of course, a simple option of encrypt database with password also plays a very vital role when trying to protect Access database from copying.
As it is found that applying a password to restrict access to your database remove possibilities of the disaster up to much extent.
For more information, you can read my post on how to encrypt or decrypt an Access database.
9. Bypassing The Bypass Key
Last but not the least thing that you all must try to secure the designed functioning of Access database application. The only thing you need to do is to disable the shift bypass property. This will close the open backdoor for hackers or third party users to steal your Access database.
You all must consider this technique, as a silly point but let me tell you the fact. If the shift key is clicked during database startup, execution of AutoExec macro and startup form opening automatically gets disabled.
You can catch more information regarding bypassing the bypass key read this helpful tutorial: How To Disable/Enable the Shift Bypass Key in Microsoft Access.
10. Lock Tables In An Access App
If you want to keep your Access database tables completely intact from being copied, edited o deleted by anyone then you can use lock tables in Access web app. Locking table helps greatly when you want to insert sample data in the Access web app which you give it to other app users.
I found this feature useful when I need to distribute an Access app in my app catalog.
- Open your web app in Access after then choose the table which you require to lock.
- Now go to the Table Selector present in the left pane.
- Tap to the Settings/Actions> Lock.
- You will see a lock icon will appear just next to the table’s name.
Tip: for unlocking the table again in Access App, follow the same steps and tap to Unlock option.
After reading the complete article, now you know how you can protect Access database from copying. Do try all the tricks to prevent access database from being copied by any third party user.
Don’t forget to share your opinion regarding this helpful post. If you have something more to share than regarding the same topic then don’t hesitate, just share it.