Basically, you CANNOT prevent record conflicts from happening. What you can do is handle them when they occur so you don't lose anything.
This is equally true whether you are talking about Jet, Access, ORACLE, FOCUS, DB2, or anything else. You see, record-level conflicts are a property of your method, not a property of a particular database. I.e. it is "native to the territory."
It goes farther than that. Suppose, just for sake of argument, that you could get to the record locking information and you checked for a lock. You found that there was none. So you start your action. BUT.... if another user on another system checked 1 millisecond before or after you checked the same record, and you both started an action, SOMEONE is going to take the hit in the shorts.
In other words, you have no way of knowing who was ahead or behind you with interest in the same information. All you can ever do is trap cases of conflict. Actually, that is far easier to do - and to do right - than it would be to design a fool-proof locking method that PREVENTS lock conflicts. Of course, you would merely move the problem. Now you have to consider lock conflicts in the LOCKING data, not in the raw record. And it is an infinite progression that doesn't stop until you run out of tracking resources.
It is yet another variant on the old Latin philosophical question, Quis custodiet ipsos custodies? (Who watches the watchers?) Or in this case, who locks the lockers?
Ilkhoutx's comments are appropriate and on the mark. I concur with his suggestion. Find a developer's guide that discusses record-locking traps and see how they approach the problem.