>I am using 3 tables
>
>All 3 are cursors in my form dataenvironment buffered as 5
>
>At the save buttom I have this lines
>
>***save 1
> select table1
> = tableupdate (.T.)
>
>*** save2
> select table2
> = tableupdate (.T.)
>
>*** save3
> select table3
> = tableupdate (.T.)
>
>
>Suppose that one of the "saves" above fails
>Two tables will be saved and this will lead to severe erros, even if a warning message is displayed to my users
>
>Is there a way to revert all if one of the tables fail ?
>
>
>Moises
BEGIN TRANSACTION
DO CASE
CASE NOT tableupdate (1, .T., [Table1])
ROLLBACK
CASE NOT tableupdate (1, .T., [Table2])
ROLLBACK
CASE NOT tableupdate (1, .T., [Table3])
ROLLBACK
OTHERWISE
END TRANSACTION
ENDCASE
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.