this change to code allows to track null fields as well
if you replace
If .Value .OldValue Then
with the following code:
If (.Value .OldValue) Or ((Not IsNull(.OldValue) And IsNull(.Value))) Or ((IsNull(.OldValue) And Not IsNull(.Value))) Then
it will now track changes in values, changes where a null value is now replaced with a value or if a field's value is now replaced with a null
Hope this helps.