Hello I have a theoretical question here. So say I have a split database and I distribute the front end to users (an actual copy of the frontend not a shortcut) now if they altered their copy and messed with the forms things like added minimize maximize buttons, created new queries, created an sql macro that send data from a table to another database would there be any way for me to tell they were doing this? Let's avoid the suggestions to stop this from happening ie locking down the database, disabling the shift key, giving them only a shortcut instead etc. The way I look at it as long as they weren't altering the tables in a way that my original front end was built for it would be impossible to tell right? I mean specifically with the custom sql statements to another database through ADO could I track that they were doing that? Thanks for any input...
My first thoughts when reading this when I read that you wanted to avoid
locking down was:
How will you ever be able to deploy any updates with overwriting all the users custom stuff?
What if they modify a query that causes a form to no longer work correctly like the original front end was built. That is a HUGE possibility Is corrupted data OK?
When a front end is not locked:
Once you allow any user to edit any forms or queries you should expect that the user will altering the DATA in the tables in a way that you had not intended.
Even skilled programs will destroy data as they are developing and testing. At least a professional/skilled developer uses a development back end. End users modifying a production front end don't. Their mistakes are against production data!
About your question of tacking changes make by an end user to their copy of the front end.
There is NO easy what to tell if an end user modified your unlocked front end.
It is even difficult for developers to do this without some method of source code control.
One way to tell what has been changes is to get a copy of the end user's front end and run a compare to the master copy. All this will tell you is what objects are different. Not any actual changes to data in tables.
have built mu own custom database window that I use to manage objects in a database. This will only log what object s I have opened. I have to manually type in a comment of what I did. I have also created my own Source Code Control functionality.
Tracking changes to an Access Front End database is difficult with multiple developers.
The best way to handle this is to use
Source Code Control and set up all the end users as developers. This will allow yo to track all the changes. To insure the integrity of your front end, you should also approve any changes before they are allowed.
"I truly believe that the top priority of any software developer is to protect the data!"
- Boyd Trimmell aka HiTechCoach