Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Versioning in MS Access?

Status
Not open for further replies.

TZyk2003

Programmer
Jun 17, 2003
33
US
Good afternoon all,

At my company, we are having problems with our users going into the access database and changing things without telling anyone.

My question is, there anyway to version an access database?

Or, I know there is a way to force a login/password. But is there a way to record what that user did while logged in? (i.e. updated so and so table)

Many thanks!!

-Tim
 
It depends on how complex you're willing to get. First, you need to be able to identify the user - user level security. With that alone, you can limit what a user can do.

To track changes a user makes requires you to force users to access data through a form - in other words, users cannot have direct access to the tables or queries. If users are working through a form, you can then capture any changes made and add that to a log table along with their ID. How much information you wish to capture would be up to you (with database size taken into consideration). Check out BeforeUpdate and AfterUpdate events in a form.
 
The Jet database doesn't log anything. You have to program this yourself. Why not look at other databases eg MySQL or MS SQL Server (ie MSDE)? I don't know off hand but I suspect they will log user id. If you are in a corporate environment you may have access to Oracle etc.

You don't need to use Jet just because you are using Access. Access will connect to virtually anything. I wouldn't be surprised if it can link to your fridge.

Useful for storing beer...

 
Dear Tim,

Are you worried about your users changing data in the table or just changing the code and looks of forms and reports.

If you want to protect your code, just compile your program and create an access mde file. Then, give your users the access mde file which has no source code involved. Make sure to keep a copy of the access mdb original for later use.

If you want to protect the tables, then:
1) You can set the table attributes to hidden, which will keep them from novice eyes.
or
2) You can place them in a separate backend database and create links to the tables at program startup. Then, at program ending, just delete the links.

If you combine mde and step 2, things should be some what secure.

Next step would be to use access security, but this also has some holes.

The best would be to use mde for the frontend (programs) and SQL Sever for the tables and the Backend

Hope This Helps,
Hap...

Access Developer [pc] Access based Add-on Solutions
Access Consultants forum
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top