Finding out who changed something

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

If i set up the users/passwords/and groups up is there a way to see who
changed something like a table and when they did change it?
 
If i set up the users/passwords/and groups up is there a way to see who
changed something like a table and when they did change it?

It all depends on how sophisticated you want to get, but yes, it is possible
to see record changes. Actually changing a table property? Probably not.
See if these links help:

Access 97: How to Create an Audit Trail of Record Changes in a Form
http://support.microsoft.com/?id=183792

Access 2000: How to Create an Audit Trail of Record Changes in a Form
http://support.microsoft.com/?id=197592

Here is a link to an excellent article by MVP Allen Browne:

http://members.iinet.net.au/~allenbrowne/AppAudit.html
 
I followed the links you provided and was able to make this work...almost.
This works in a stand alone form, but returns an error when the records are
edited from a subform.

I use a combo box to select the record to view in the subform and receive
the following: "Error #: 2448. Description: You can’t assign a value to this
object.â€

This solution is actually overkill for what I was to do, but I thought if I
could make it work I could modify it to suit my needs. I was trying to audit
just a single field rather than all fields in the record.
 
Which code are you using exactly Jeff?
Normally the only requirement I ever need is to record who made a change
to a record (whatever that may be) and when. I normally do not need to
know what *exactly* someone has changed since that need has not arisen
yet.
 
I did figure out a shorter way to do what I need, but it still does not work
when controls are on a subform.

Here's what works when it's the main form:

Private Sub Field1_BeforeUpdate(Cancel As Integer)

Forms!form1!Updates = Chr(13) & Chr(10) & "Change made on " & Date & " " &
Time & " by " & CurrentUser() & "; " & "Previous value was '" &
Forms!form1!Field1.OldValue & "'. " & Forms!form1!Updates.OldValue

End Sub

This works great until 'form1' becomes a subform. When it's a subform,
either Access can't find the form, or can't find the control 'field1'.

For what I'm using this for, I do need to know exactly what a filed was
changed from, when and by whom. A projection report based off of this field
uses last months numbers, but the records hold current information. I need to
be able to look back and see if a record had been changed since last months
report, what it was changed from, and compare it to what the current value is.

There will likely be only 1 or 2 changes made to a handfull of records over
the course of a month, and seeing a spike in the number of changes being made
may also flag a user not understanding the workflow.
 
With subforms you have to remember that you need to reference the
subform CONTROL name on the main form first. That may or not be
the same name as the subform itself.

Check this link on proper syntax:
http://www.mvps.org/access/forms/frm0031.htm

You might need something like
Forms!MainForm!SubformControlName.Form!ControlNameHere
 
Back
Top