It is possible that you would be unable to catch all cases of this.
When a textbox gains focus for the first time after either navigation to a different record or creation of a new record, there will be a value in the textbox called .OldValue, and it will retain the value of the record at the moment it became "current" on the form.
When a user edits that textbox, the .Value changes but .OldValue does not. In the Form_BeforeUpdate event, you could verify that a change had occurred for that textbox. However, ....
It is possible for someone to change something, TAB out and do something, then do a SHIFT-TAB to back-step to that first textbox. If that happens, and if the person re-instates the previous value, the Form_BeforeUpdate event routine would say that nothing had occurred.
If you have someone who tabs into the box, changes the box contents, but before leaving the box decides to erase what was done and retype the original value, you also would have a hard time being sure that any change had occurred. If and ONLY if you had a control_Change event routine, you could track what was done in that box, but would be very busy handling the events.
Therefore, you need to think about what you REALLY want to know, and then ask that question. The ONLY way to know that someone had diddled in the textbox NO MATTER WHAT they did, you would have to look to control_Change events, which would lead to serious overhead.