I am developing a multiuser application in Visual Basic 4.0 and wish to restrict users from editing Open or Locked records. Having successfully set up user security access and permissions, I thought it would be a simple case of invoking pessimistic locking using the Edit method to prevent other users from accessing the same record. This said, it works, but the Lockedits property allocates a 2K copy to the buffer, which appears to include more than just one record. Is there any way around this, or do I have to live with the fact that other records not currently open are locked and therefore unavailable to other users?
The amount of data locked is a function of the database, not VB. Access and SQL Server 6.5 lock data pages, not rows. That’s why you are finding other records locked. SQL Server 7.0 implements row locking.