Thanks for your help Pat. I don't want to record how much time the user spends in the form itself, especially as they may have to add new information several times over several days. I would just like to know roughly how long between them first starting work on the Engineering Change, to when they finish completely. This is why I was going to use a button, although for the EndTime button I want to incorporate it into my email button at the end of the process. I think my original problem is somewhere within my database itself, now that I'm WFH I think there's been some corruption so I'm going to try creating a new database and import the tables from this one into it and try again.Never make the user do something you can do for him. Access forms provide a variety of events for you to use to run code depending on what you need to do. To log time to update, Use the Form's on Dirty event to log the start time:
SaveStartTime = Now()
Then use the Form's AfterUpdate event to log end time:
SaveEndTime = Now()
Follow that by an append query to log the times.
If you actually want to keep the times in the record being updated (I wouldn't do this), Use the Form's BeforeUpdate event to record the end time and follow that with:
Me.StartTime = SaveStartTime
Me.EndTime = SaveEndTime
And when the record is saved, so are the times. No need for an append or update query.