The original request seems to be OK with the attached. I didn't really follow the update debate which might be relected in my next comments.
This case requires 2 ways of updating as there are both navigation controls and a save button. Best place for the code IMHO is the form BeforeUpdate event. However, there is also a need to execute it if save button is clicked, thus that event sets Dirty property to False if it is True. That will call the update event, which will be canceled, which will cause the click event to error on cancellation, which is trapped and suppressed.
Notes to Hilian:
had to undo some startup settings in order to make it easier to navigate the design.
Probably messed up the layout in order to fit it to my screen.
Really only concerned myself with the face sheet tab
you have code for controls that no longer exist
Your code won't compile without a lot of commenting out (possibly for the above reason)
usually if one adds their own navigation, the built in controls are removed. Perhaps that is planned. Custom controls require much more code (e.g. so as to prevent clicking 'next record' when there is no next), otherwise causes errors.
you have no user interface for canceling a record, thus if user starts record and needs to back out, your nav buttons will generate error messages and possibly continue to run validation code. Unless they know that they can cancel a record via Esc key, they will find this to be a nuisance.
View attachment QPR3_Master June 2019.accdb