>> master.key. I can't find any REPLACE ALL/FOR command in my form but I
>> certainly have DELETE FOR EMPTY(xxxfield) (details table) before I do
>> tableupdate. Do you think it matters?
>
>You should also think about if the best place for your DELETE FOR statement
>is right before the tableupdate(). If it is, make the changes stated above
>and definitely create an index on EMPTY(xxxfield) (or whatever the complete
>FOR clause contains). This wlil minimize the time that it takes to perform
>the DELETE FOR statement, and thus the risk of a collision during your
>TABLEUPDATE().
Why not scan the records for updating and then
scan for new_records
if empty(xxxfield)
delete
else
=tableupdate()
endif
ends
This way the deletion happens within the buffer only, i.e. it doesn't
touch the underlying table. Maybe TableRevert() could be issued for the
deleted records, so the deleted records never get copied from
the buffer into the table. This way there's no locking (except automatic
locking on TableUpdate(), but that's unlocked right away).