e fare così allora

codice:
on error resume next
   do
      err.clear
      cn.begintrans
      ....
      if err.number <> 0 then
          cn.rollbacktrans
      else
          cn.committrans
      end if
   loop