first, make sure your form design really makes sense -- if the error is
being caused by the same user updating the same record in a different
block on the same form, determine why the user should be allowed to
update the same data in more than one block
however, you did not state whether the user is actually doing any
updates in block 3 -- if the user is not performing updates, then
determine what processing you've coded into your forms that is causing
updates (or deletes) when records are present in block 3
if the code added to your form or the user is not causing updates (or
deletes) when records are present in block 3, then the data changes
must be caused by another user, and you've run into a typical forms
issue
if the problem is due to forms code or the user, determine what exactly
is peforming the DML -- do you really need to have the same record
displayed (and available to update) simultaneously in more than one
block? that usually is not a good design. or are the updates done by
the code really necessary?
if changes are initiated by the user, and the data really need to be
displayed in more than one area of the form, you can use the
'Synchronize with Item' property item to have the same database value
displayed in two or more items (in the same block), and have forms
automatically coordinate them. this is often used with multi-record
blocks, where the additional items are on a separate canvas and have
their 'Number of Items Displyed' property set to 1.
if the changes are initiated by code in your form (and that code is
necessary) or by other users, then you have to code a block or record
refresh -- which involves writing code to issue an EXECUTE_QUERY action
(making sure block coordination only occurs where necessary) or
manually resetting item values and resetting the SYSTEM.RECORD_STATUS
(via the SET_RECORD_PROPERTY built-in)
however, it sounds like the best bet might be to revisit the over-all
design of the form -- can you give more information on what business
functionality the form is intended to support? can you specify what is
causing the update (or delete) of records that the user is currently
viewing in block 1?
++ mcs
>> Stay informed about: how: 3 blocks (1:many:many) using only 1 database source