Hi!
Use Optimistic Table buffering. Row buffering cause automatic update as soon as record pointer moved in the view alias. Table buffering collect all changes. You then require to use tableupdate() command to send all updates at once. there are a property in CursorSetProp()/CursorGetProp() that allow to improve the performance when a lot of records are edited.
Becuase, probably, transaction is automatically opened as soon as you update a record in the view, the record is locked on SQL Server until you commit transaction. When record is automatically updated - this is done automatically (as soona s you move to another record in grid). that is why record is locked for other users.
Use Optimistic Table buffering ALWAYS when you're working in grid. Any refreshing of grid also cause automatic update of the record, because to display record from record source grid scans records - this cause record pointer movement and as a result - automatic update.
HTH.
>We have a need to select a few records out of a SQL table, list them in a grid, and then modify them. If we just use a remote view as the Grid.RecordSource, the results are displayed but as soon as a record is modified and the record pointer is moved, the SQL table cannot be queried, i.e.; it's locked until the results are updated. We also tried to use an offline view, but that needs to be opened exclusive and no one else can use the view.
>
>We have Optimistic Row Buffereing set in both situations. We want to make any changes and then either batch update or revert.
>
>Any suggestions?
>
>Thanks
>
>Tim
Vlad Grynchyshyn, Project Manager, MCP
vgryn@yahoo.comICQ #10709245
The professional level of programmer could be determined by level of stupidity of his/her bugs
It is not appropriate to say that question is "foolish". There could be only foolish answers. Everybody passed period of time when knows nothing about something.