What you have is an old problem.
In a less database oriented environment than Access saves are not implicit - and must be executed explicitly. Hence there is the opportunity (before that save) to be sure you're on the right record.
(Bear in mind that operator mistakes are always going to happen - and you can spend thousands putting in functionality to "help" then - when good training or just the fear of god put into them from management can be more cost effective ;-)
As Banana says - you can wrap all this in transations. (Have a look at his thread here
Bound Form Transactions ). It's possible to bandage up into a useable form - but is likely a source of problems for the unwary.
Equally you can use an unbound form (technically not possible in non-single view - but instead a form bound to no real data source, i.e. a constructed recordset) or a form bound to a local holding table. And only commit the data from there to the live table when ready.
One advantage to this would be fewer reads and writes back to the database (compared to, say, implementing a roll back with your own audit trail).
As a simple example of non live updates - I'll attach the simplistic Unbound form demo to this post.
(Yep - my website is down
again! Can't believe it's been down twice now since I started posting here. Co-incidence or is someone trying to tell me something? lol).
Cheers.