I'm not 100% certain that this is the correct approach. You really should be using optimistic locking, and then testing to see if the row has been changed when you try to commit your changes. The last thing you want to do is start locking rows when you start to edit them...
My other issue is that you're using Access - Access is not a multi-user development environment, even with a SQL back end - it just doesn't offer the functionality you need. If you want to stick with a database, use Visual FoxPro, otherwise VB etc.