Solved

Protect forms and code without MDE

Posted on 2003-11-28
7
950 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
Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

 
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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

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

Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

863 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

24 Experts available now in Live!

Get 1:1 Help Now