Dear Carva,
Well, access mdb files are intended to be used in a friendly environment. So it is tough to secure code and even tougher to secure the data. You can do things to tighten up access to the data, but a knowledgeable, power user can still possibly break that. Even a password protected mdb can be opened with the after market utilities.
Still doing some general things will keep novice users out.
1) It sounds like you have your program code, Frontend (forms, reports etc) in the same mdb as your data (BackEnd).
So, I would split the mdb into a FrontEnd and Backend
2) You can then password protect the Backend data, and Link to those tables in the frontend. The Frontend will remember the password.
3) You could then compile the Frontend and only distribute the resulting Access 'mde' file. So code and passwords are hidden.
4) You can also change the properties of the tables and make/set them to 'Hidden'. Not fool proof, but might help.
5) You could move your app to the latest version of MS Access and use the MSDE engine instead of Jet, which is SQL like and has more security, but you would need the Developers edition inorder to distribute your app.
6) You could just move to MS SQL server.
7) Finally, just do not worry about it, but make sure to have good 'Copyright' notice on the opening screen.
Good Luck,
Hap
Access Developer
Access based Add-on Solutions
Access Consultants forum