I've spent an hour or so going over the last copy of your app you posted. The object of the original code you copied from Microsoft is to write changes made to your form to
a memo field on that form.
MyForm!Updates = MyForm!Updates & yada yada yada
is supposed to take the contents of the control Updates on the calling form, and add the new changes made to the previous contents. With
MyForm!AuditTrail = Forms!LOBSelectionTab!tbAuditTrail & yada yada yada
you're adding the contents of a control
on a different form and trying to add it to the control on your calling form. The problem with that is, although you've added an AuditTrail field to the underlying table of your calling form, the control
MyForm!AuditTrail still doesn't exist! There is no
AuditTrail textbox on your main form.
In short, you've taken the code you found online, and without really understanding how it works, have tried to adapt it to you app and have made a real mess of it! It's appropriate when using boilerplate code to replace the object names used in the code with the actual names of your objects, but you have to do so for every instance! If the code uses
MyForm!Updates
and your control is named
AuditTrail you have to use
MyForm!AuditTrail
everytime
MyForm!Updates
appears in the code, not
MyForm!AuditTrail sometimes and
Forms!LOBSelectionTab!tbAuditTrail at other times. To do otherwise is to totally change the function of the code!
Don't feel bad, we've all done similar things when we were starting out! But I can't really help you out here other than to suggest that you scrap what you've done so far, vis a vis the audit trail, and start over again, paying closer attention this time to the instructions.
Or you might want to take a look at this paper from Allen Browne where he details setting up an audit trail and explains what the code actually does:
http://allenbrowne.com/AppAudit.html
Good Luck!