You can not do what you want if the data is edited directly in the table. You are also allowing the users the option to alter the data in way that you might not expect. It is a general rule that the users should not have direct access to the database objects, tables, queries, etc. If you used a form to access the data, you could limit who, what, where, when, how your users access the data. When I need to track edits, I store the users NT id with a date and time stamp for each record. This allows the users to know who was the last person to edit the record.
Below is an example of how I do this...
My table has a field named "ModifiedBy". The form has a text box named "tbModifiedBy". In the BeforeUpdate event of the form, I use this code...
Me.tbModifiedBy.Value = GetNTUser & " " & Date & " " & Time
Copy the below function into a new module...
Private Declare Function GetUserName Lib "AdvAPI32.dll" Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function GetNTUser() As String
Dim strUserName As String
strUserName = String(100, Chr$(0))
GetUserName strUserName, 100
strUserName = Left$(strUserName, InStr(strUserName, Chr$(0)) - 1)
GetNTUser = StrConv(strUserName, vbProperCase)
End Function
HTH