.mdb lock unlock problem.

I have a multi user Delphi-Access application.
I am looking for a real simple code that i can make sure 2 people are not working on the same row at the same time.

I been reading about lock and unlock .
Is there a simple way just to make sure 2 people are not editing the same row at the same time.
LVL 12
Grant1842Asked:
Who is Participating?
 
Ephraim WangoyaConnect With a Mentor Commented:

Thats really a function for the database to perform.
However if you want some kind of control, you can add a field to your tables that indicate that a record is currently in edit mode
You can make it a timestamp. If the record is opened, you insert the current time to that field. When the second user tries to open the same record, they receive a notification that the record is currently being edited and they can only view.

When the record is saved, set the timestamp field to null.
Using the timestamp, you can determine how long a record has been opened and if it is still valid, eg you don't expect someone to keep a record open for several hours
0
 
systanCommented:
ewangoya?,
congratulation, your on the Delphi Hall of fame, overall.
0
 
Ephraim WangoyaCommented:

Thanks Systan
0
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

 
jimyXConnect With a Mentor Commented:
There are 3 types of records locking, you may read this article for more info:
http://www.databasedev.co.uk/multi-user-application-record-locking.html

The option you are after is:

In the MS Access go to:
Tools -> Options -> Advanced tab -> "Default record locking" check "Edited record".
0
 
ThommyConnect With a Mentor Commented:
If you are using ADOConnection, this might be an option for you...

Achieve Record locking in Delphi 5-6 with Access 2000
http://www.delphi3000.com/articles/article_2538.asp?SK=
0
 
aikimarkCommented:
What versions of Delphi and Access are you using?

How are your multiple users editing records? (configuration and UI)

It is possible to use pessimistic locking, but you pay a performance penalty.

Your code is supposed to receive (trap) an error when you try to change a row that has been changed by someone else.  Is this not happening?
0
 
Grant1842Author Commented:
Thanks for all your comments. I will try and sort through them.

I am using D2010 and access 2007.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.