The problem is that even optimistic locking has a problem if the person making the edit won't leave the record. Even for the newest versions of Access, an open record is locked, PERIOD. But if you have users who walk away from an open form and open data record, you have a MAJOR problem of a much more basic type - poor Operational Security.
Point #1... NEVER EVER LEAVE ANY RECORD OPEN AND WALK AWAY. Get yourself a branding iron with inch-tall letters and tell the data clerks you will BRAND them like the dumb cows they are the first time they do this.

Millimeter-tall letters on the branding iron wouldn't be so frightening. Make the letters BIG.
OK, maybe the branding iron is a little bit extreme... I'll get serious. Get your management to allow you to make a new department policy. Make this data abuse/infraction a job event. When it happens, enter a reprimand in the offender's personnel file. Then you have grounds for a policy of "three strikes in one month and you're out." They can be terminated for cause. And in today's uncertain job market, nothing rivets attention like penalties with the potential of losing you your job.
Leaving a logged-in terminal open to a data record in a way that impedes corporate data processing is just unacceptable as a "standard operational procedure." My way of saying this would be simple. "I don't care if your back teeth are floating. Save the data and close the form before you go to the bathroom. If your choice is to save your clothes or save your job, the choice should be easy. If it is not, take a hike now and save us both the trouble later." It sounds harsh but if this is important to your company, you NEED to put some teeth into the situation.
Point #2... If this update is done through an Access form on a shared DB (as opposed to ADP methods), you can implement a solution to force the issue but you have some policy decisions to make.
There is a
form property called .Timer which is a LONG Integer number of milliseconds before an event fires, entry point in the class module under the form is Form_OnTimer. It is NOT an event associated with a control. It is an event of the underlying
form.
Put some humongous amount of time in the timer, like 300,000 - which is 5 minutes. (I would make it 60,000 - 1 minute - myself, but that's me.) Under each of the data controls on the form, in the AfterUpdate event of that control, reload the time with your chosen constant. If one of your clerks leaves the form open and makes no changes by the time the timer event fires, take the Form_OnTimer event. Close the form. That will unlock the record. What you have to do is decide whether to do a Me.Undo before you close the form. You can also have the form update a hidden table that tells you when a form was closed by timer and who did it.
Point #3... If you have optimistic locking on this form, auto-close plus user education will help - but you still need to provide other operational security mitigation. Things like an update history or some other method that shows when a partial update has occurred so that you can either roll back or complete the transaction when it is time to make the "close it" decision in my point #2.
Point #4... Review your overall operational methods. If you have lots of users and lots of lock collision events are cropping up, you need to consider active time-segregation of events. Like, stage all updates until a certain time. Do them in bulk. Allow a policy that says that manually updated items are time-delayed in a temp table and will be posted ONLY during the time set aside for bulk updates. Transactions entered since the last update cycle must wait for the next update cycle to be posted. (Banks do this all the time.)