Hi,
this morning found a nice little problem with CA's (mayce views too, but untested).
We need a CA that updates a table, buffermodeoverride=5, wheretype=3
I open up the CA in two seperate IDE's,
Now I modify one record and TABLEUPDATE
I requery the other CA, GO to the record and modify the same field, and TABLEUPDATE.
Back to CA #1 I CURSORREFRESH the CA, Go to my record. Values are as in CA #2
Now I alter the field again, TABLEUPDATE and fail. While tableupdate returns true, _TALLY returns 0 indicating a failure.
If I check the values (?ca.value,oldval(ca.value),target.value) I see that the CA has current values, the target has the value written on the first operation. (The target cursor is still positioned on the fitting record from the first tableupdate).
If I do anything to the target that moves the record pointer (GO RECNO(), BROWSE) the value of the target changes.
This looks like the TABLEUPDATE writes to some buffer, UPDATE SQL, ? etc use this very buffer while REQUERY / CURSORREFRESH use the real data.
Any idea how to clear the buffer without changing the record pointer like GO RECNO() ?
TIA
Agnes
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord
Weeks of programming can save you hours of planning.
OffThere is no place like [::1]