In the past I give a little try (it wasn't necc., so never ended it) but maybe u can use it as basic for ur problem
Public Sub gewijzigd(frm As Form)
On Error GoTo errHandler
Dim cnn As New ADODB.Connection
Dim ctl As Control, strSQL As String
Set cnn = CurrentProject.Connection
For Each ctl In frm.Controls
If ctl.ControlType = acTextBox Then
With ctl
If Nz(.OldValue, ""

<> Nz(.Value, ""

Then
strSQL = "INSERT INTO tblRecordGewijzigd([W_datum],[W_user],[W_fldname]," & _
"[W_form],[W_oudewaarde],[W_nieuwewaarde]) VALUES ('" & _
Date & "','" & HaalGebruiker & "','" & .Name & "','" & _
frm.Name & "','" & _
IIf(Nz(.OldValue, ""

= "", "x", Nz(.OldValue, ""

) & "','" & _
IIf(Nz(.Value, ""

= "", "x", Nz(.Value, ""

) & "')"
DoCmd.SetWarnings False
DoCmd.RunSQL strSQL
DoCmd.SetWarnings True
End If
End With
End If
Next ctl
Exit_proc:
Exit Sub
errHandler:
MsgBox Err.Description & Err.Number
Resume Exit_proc
End Sub