Record Locking with SQL 2000 back end

  • Thread starter Thread starter Jordan
  • Start date Start date
J

Jordan

Rather than have users be able to directly open the back end tables I have
forms with Datasheet views that allow the users to open the raw data in the
tables. Each form has one of the tables as its record source and has all
the fields on the form locked and the table has No additions, deletions,
edits, etc.

I have a problem with some of the larger tables where a user will open up
the datasheet form and keep it open. This ends up preventing other users
from editing data even though this person with the datasheet form is just
sitting on say record 150 while someone is trying to edit record 5000. Once
the datasheet form is closed, editing can proceed normally.

What can I do to allow users to see the full table of data, but stop this
from locking out other users.

SQL 2000 SP3 back end using Access 2003.
 
Jordan said:
Rather than have users be able to directly open the back end tables I
have forms with Datasheet views that allow the users to open the raw
data in the tables. Each form has one of the tables as its record
source and has all the fields on the form locked and the table has No
additions, deletions, edits, etc.

I have a problem with some of the larger tables where a user will
open up the datasheet form and keep it open. This ends up preventing
other users from editing data even though this person with the
datasheet form is just sitting on say record 150 while someone is
trying to edit record 5000. Once the datasheet form is closed,
editing can proceed normally.

What can I do to allow users to see the full table of data, but stop
this from locking out other users.

SQL 2000 SP3 back end using Access 2003.

I have definitely seen this behavior when opening table links directly, but
I was under the impression that forms wouldn't have this problem. Perhaps a
datasheet form is too similar to opening the table directly.

ListBoxes and ComboBoxes can do this as well until the last row is accessed
so doing a GoToLast might solve your problem too. That might also cause a
lot of data to be dragged over the network though.

Basically it is just a bad idea to open forms with large recordsets in a
Client Server environment. There should always be a WHERE clause limiting
the recordset to the bare minimum (one record being the best).
 
Back
Top