Solved

Protect forms and code without MDE

Posted on 2003-11-28
7
951 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
Three Reasons Why Backup is Strategic

Backup is strategic to your business because your data is strategic to your business. Without backup, your business will fail. This white paper explains why it is vital for you to design and immediately execute a backup strategy to protect 100 percent of your data.

 
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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The first two articles in this short series — Using a Criteria Form to Filter Records (http://www.experts-exchange.com/A_6069.html) and Building a Custom Filter (http://www.experts-exchange.com/A_6070.html) — discuss in some detail how a form can be…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
Learn how to number pages in an Access report over each group. Activate two pass printing by referencing the pages property: Add code to the Page Footers OnFormat event to capture the pages as there occur for each group. Use the pages property to …
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

813 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

10 Experts available now in Live!

Get 1:1 Help Now