M
mscertified
I have an application where users pull records from a common table which acts
as a queue. The problem I am having is that different users are pulling the
same record. I do have a locking mechanism which I have tested and it works
flawlessly. This locks other users out while certain operations are
occurring. However, what is happening is that when I delete the processed
record from the queue (and I have tried both DELETE SQL command or .DELETE
via recordset), other users are able to retrieve the record AFTER the delete
takes place. I have proven this by issuing traces from each user. Does anyone
know why this happens and how I may prevent it? If I insert a delay loop
after the delete, it happens less often but I have not been able to find any
length of delay (other than a totally unacceptable one) that guarantees no
conflict will occur.
as a queue. The problem I am having is that different users are pulling the
same record. I do have a locking mechanism which I have tested and it works
flawlessly. This locks other users out while certain operations are
occurring. However, what is happening is that when I delete the processed
record from the queue (and I have tried both DELETE SQL command or .DELETE
via recordset), other users are able to retrieve the record AFTER the delete
takes place. I have proven this by issuing traces from each user. Does anyone
know why this happens and how I may prevent it? If I insert a delay loop
after the delete, it happens less often but I have not been able to find any
length of delay (other than a totally unacceptable one) that guarantees no
conflict will occur.