All code of this ilk belongs in the FORM's BeforeUpdate event. That is the LAST event that runs before the dirty record is saved. You can prompt to save it and if the user ansers No, you can cancel the update event and undo the changes -
Cancel = True
Me.Undo
There is NO OTHER EVENT that will trap updates in ALL CASES.
If you don't want the form to be able to update data at all, set its AllowUpdates, AllowDeletions, and AllowEdit properties to False.