0

I want to have an audit log of any change made to a form or report in design view, with the control or object manipulated, when it was done and by whom.

However, in creating this, I am stumped on the very first and most basic task, which is figuring out whether Access has a central function that would record the event of calling up a form in design view. [Hence I have no code to show for this problem yet].

What event or procedure in MS Access can I monitor (using VBA) to record when a form or report is called up in design view?

Any pointer provided is appreciated. Or alternatively if someone can tell me with certainty that this is not feasible to implement.

rohrl77
  • 3,277
  • 11
  • 47
  • 73

1 Answers1

1

I can tell you with certainty that this is not possible. There is no such event.

The only thing available is the "Last modified" date, which you can read e.g. from MSysObjects.DateUpdate.

To track design changes, you may want to look here:
How do you use version control with Access development?

Community
  • 1
  • 1
Andre
  • 26,751
  • 7
  • 36
  • 80
  • Thank you for the quick and definitive answer. I suspected as much, which is why posted here. – rohrl77 Aug 19 '16 at 08:20
  • You could write a procedure on form opening, coupled with Andres answer, that if it's the first time it's been opened since, to dump the details of the form to a table, control name, type, left, top, sql etc, what you'd need, and then until that date changes, that will be your "version" information of the table. Not an easy solution though :) – Nathan_Sav Aug 19 '16 at 08:26
  • @Nathan_Sav Yeah I thought of a similar solution, but it seemed more of a work around, and as you said, highly work intensive. So much so that it kills the benefit I would derive from this... which is me knowing when users screw around in my database. – rohrl77 Aug 19 '16 at 08:29
  • 1
    You could give .accde or .mde databases to your users, then they *can't* screw around. @rohrl77 – Andre Aug 19 '16 at 08:35
  • @Andre This is likely the option I will go for... I was interested in knowing who has been monkeying around... because after things break "nobody" ever touched anything. And they'll swear by that. – rohrl77 Aug 19 '16 at 08:36
  • You could split it, into a front end on each users machine and a server back end, then you'll find the user. From personal experience, they'll still deny :) – Nathan_Sav Aug 19 '16 at 08:57
  • Also, there is the option to export the contents of the database documenter which you could work with? – Nathan_Sav Aug 19 '16 at 09:09