Solved

Protect forms and code without MDE

Posted on 2003-11-28
7
949 Views
Last Modified: 2013-12-05
Hi,  I have an application that cannot be an mde because it is necessary to be able to customize report layouts and save the changes, however I still want to be able to protect my forms and code.

I am going to use the method shown at: http://www.experts-exchange.com/Databases/MS_Access/Q_20401357.html to disable the shift key on startup, so users can't access the database window, but someone who knows Access can simply create a new database and import all of my forms and code, bypassing that security.

Does anyone know of a way to secure my forms and still retain customizability on the reports?  I cannot use user permissions, because it needs to be easily distributable in many environments.

Thanks in advance for your comments.

Terran
0
Comment
Question by:earthman100
7 Comments
 
LVL 32

Expert Comment

by:jadedata
ID: 9840342
Hey earthman100!

  You can try setting the Hidden attribute on those items so they can't immediately be seen.  But,. nothing short of making a tightly secured MDE file is going to get the job done.

regards
Jack
0
 
LVL 2

Expert Comment

by:rthomsen
ID: 9840357
What about setting a database password.  No one will be able to import your objects without knowing the password.  It is still a step down from user level security.

Tools - Security - Set Database Password...
0
 

Author Comment

by:earthman100
ID: 9840490
rthomsen - That would require that they know the password to run the application, which is no good

I just tried the Security Wizard, and I think it seems to be getting me the results I want, but I need to know how to transfer this over to the end user.  Will they have to set up special permissions on their machine?  Where is the workgroup file located, and can it be tampered with if I distribute it with the application?

Thanks!
0
Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

 
LVL 28

Accepted Solution

by:
TextReport earned 125 total points
ID: 9841722
When securing the database you need to provide them the MDW file and a way to ensure it is used. The best way to ensure the correct MDW file is used is to create a shortcut

"c:\program files\microsoft office\office\msaccess.exe" "c:\MyDB.mdb" /WRKGRP "c:\mysystem.mdw" /USER MyUserName

The /USER is optional and you can also specify the opassword by anyone can find that if you do.

BTW I would say Secure fully your app as an MDE and provide them a seperate MDB where they can write their own queries and reports. Then when you do an upgrade you do not have to worry about their objects.

Cheers, Andrew
0
 

Author Comment

by:earthman100
ID: 9841750
Andrew,

Actually they won't be creating their own queries or reports; I am using a function to allow them to create a custom paper size for the pre-made reports, hence the need for the reports to be alterable.

I'm just wondering, since I haven't used workgroup files before, is there a way someone could create another workgroup file to get them into the app?  Would they have to know my admin password for it to be successful?

Regarding your sidenote:

Is there a way to open reports in a separate mdb using code from the first?  

If so, that would solve all my problems right there.  If it has to be in a separate interface, it wouldn't really work, as the reports need to be accessed in context, because they key on variables in the program.

Thanks for your opinions so far!  I feel like I'm on the right track...

0
 
LVL 28

Assisted Solution

by:TextReport
TextReport earned 125 total points
ID: 9841777
If you load the second database as a library (reference to it) you can call a function in the Library that opens forms or reports from the library, the only problem is that the library might need to be an MDE

If the library has to be an MDE file then put all your app in the MDE and tlet them have the MDB as a front end.

Another option is to use CREATEOBJECT or SHELL to run another instance of access that then opens the report.

On the security for them to create an identical MDW file with the samer security they have to use the same PID's and SID's and Name including case so very unlikely unless you leave that info lying around.

Cheers, Andrew
0
 

Author Comment

by:earthman100
ID: 9841981
Thanks for your info Andrew.  That gives me enough to go on, with several options.  I think I will opt for the workgroup id, as it is easiest and still gives me the flexibility I need.

Cheers!

Terran
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…

758 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now