Solved

Protect forms and code without MDE

Posted on 2003-11-28
7
954 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
The Eight Noble Truths of Backup and Recovery

How can IT departments tackle the challenges of a Big Data world? This white paper provides a roadmap to success and helps companies ensure that all their data is safe and secure, no matter if it resides on-premise with physical or virtual machines or in the cloud.

 
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

Back Up Your Microsoft Windows Server®

Back up all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Question has a verified solution.

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

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

636 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