As Robert suggested, you can avoid saving the modified record by canceling the event before the update. The code will look something like this:
Private Sub Form_BeforeUpdate(Cancel As Integer) Me.Undo Cancel = True End Sub
However, this approach requires that you cancel any changes you make to the record before you can leave it. Without Me.Undo you can cancel the update, but Access will not allow you to switch to another entry. You must either save or discard changes in the current record before moving on to another.
If you want to switch to another record, but first do not discard the changes, I think you need to try a disabled record set. This is a set of ADO records that you create in memory that is not tied to any data source. You can add a command button to save changes to the command. If this sounds helpful, see this Danny Lesandrini article in the Database Log: Create ADO Recordsets
source share