I don't know if access has a built in logging function, but I created a log of my own to track user activity.
I created a table that would store the user name, action (Modified, deleted, or added), what table the acted on, which record was affected, and when they did it.
see this thread
on how to capture the user name.
For the "ON Dirty" function of a form I placed the following:
UserID = Environ("userName")
action = "Modified Record"
tableName = Me.Name
recNumber = Me.year & "-" & Me.mdr_no
ChangeLog
I used similar code for the Form Delete action and I have buttons on each form to added a new record to which I added the above lines of code.
ChangeLog is a public function that actualy writes to the LOG table
DoCmd.SetWarnings False
DoCmd.RunSQL "INSERT INTO LOG([user],[action],
,[record],[time]) VALUES ('" & UserID & "','" & action & "','" & tableName & "','" & recNumber & "','" & Now() & "')"
DoCmd.SetWarnings True
You need to use the DoCmd.Setwarnings command to keep the project form asking the user if they want to append the log file.
I hope that isn't too confusing.