USER1: UPDATE Contractor SET LockedBy=mcuser WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName ;
AND ISNULL(Contractor.LockedBy) && Successful
USER2: UPDATE Contractor SET LockedBy=mcuser WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName ;
AND ISNULL(Contractor.LockedBy) && UnSuccessful
USER1: UPDATE Contractor SET LockedBy=NULL WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName &&Successful
USER2: UPDATE Contractor SET LockedBy=mcuser WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName ;
AND ISNULL(Contractor.LockedBy) && UnSuccessful
If I change USER2's last action to:
GO TOP IN Contractor
USER2: UPDATE Contractor SET LockedBy=mcuser WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName ;
AND ISNULL(Contractor.LockedBy) && Successful
or if USER2 moves to a different record and issues only:
USER2: UPDATE Contractor SET LockedBy=mcuser WHERE Contractor.Proj+Contractor.CompanyName=ContractorView.Proj+ContractorView.CompanyName ;
AND ISNULL(Contractor.LockedBy) && Successful
ContractorView is buffered optimistic record. Any ideas?
>
>>I get around this in VFP by issuing GO TOP IN InvoiceHeader first and then the UPDATE. Would the same thing happen with SQL-Server and how would I issue the same type of workaround?
>>
>
>You should be able to send the same statement to SQL server as above.
>
>BObColin Magee
Team Leader, Systems Development
Metroland Media Group Ltd.
Mississauga, Ontario, Canada
cmagee@metroland.com
Never mistake having a career with having a life.