Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

.mdb  lock unlock problem.

Posted on 2011-02-12
7
818 Views
Last Modified: 2012-05-11
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.
0
Comment
Question by:Grant1842
7 Comments
 
LVL 32

Accepted Solution

by:
ewangoya earned 300 total points
ID: 34880975

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
 
LVL 14

Expert Comment

by:systan
ID: 34881355
ewangoya?,
congratulation, your on the Delphi Hall of fame, overall.
0
 
LVL 32

Expert Comment

by:ewangoya
ID: 34881383

Thanks Systan
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
LVL 24

Assisted Solution

by:jimyX
jimyX earned 100 total points
ID: 34881402
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
 
LVL 19

Assisted Solution

by:Thommy
Thommy earned 100 total points
ID: 34885972
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
 
LVL 45

Expert Comment

by:aikimark
ID: 34893706
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
 
LVL 12

Author Comment

by:Grant1842
ID: 34902347
Thanks for all your comments. I will try and sort through them.

I am using D2010 and access 2007.
0

Featured Post

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.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question