Sure, but that means duplicating all the fields and for all the forms you have. Can't you save the values in some VBA variable and then retrieve it? Maybe it's simpler, but I don't know how to do it.
MajP's answer is how you do it, but it appears you don't understand how a bound field works in Access.
When you navigate your form to a particular record, you start with the Form_Current event, in which Access loads the record's bound fields to TWO places - each bound control's .VALUE property and .OLDVALUE property. What you do on the form can change the .VALUE propery but no manual operation on that form touches .OLDVALUE at any time. So you don't need a separate variable, it is a control property of a bound control.
If you SAVE the record with whatever changes you made, each bound control takes its .VALUE content and puts it in the record, so you just synched the record to the controls on the form. After the SAVE finishes, there will be a new Form_Current event, but due to the SAVE, the form and record already match so this event appears to do nothing.
If you UNDO the record as a whole, each bound controls takes its .OLDVALUE content and puts it in the .VALUE content - which then matches the underlying record - so you just in effect resynced the form to the record. It looks like a Form_Current event just occurred, but it didn't. A new Form_Current event does not occur, but after an UNDO, you couldn't tell the difference anyway.
MajP's suggestion is to use a double-click event to do a selective UNDO operation. This does not affect the form as a whole so you would again not see a Form_Current event as a direct result of this proposed solution. The <ESC> key and <CTRL/Z> key have the effect of a selective UNDO as well. Again, use of these keys does not trigger a new Form_Current event.
NOTE that unbound controls DO NOT have a .OLDVALUE so this discussion does not apply to unbound controls. There, you WOULD have to keep variables for any unbound controls in order to reverse form/keyboard interactions.