salve a tutti
in un modulo di classe ho 2 sub ceh mi inseriscono i dati in uyn database , queste 2 sub immettono valori in testata_documento e righe_documetno le qualis sono correlate

vorrei chiedervi il modo + giusto di impostare le transazioni..
io faccio cosi'
codice:
'ho creato una 3a routine che mi richiama le 2..
pubilc sub inserisci dati
   call inserisci testata(valori....)
   
'controllo se c'è stato unerrore esco
  if err<>0 then  
      call ripristina 
      exit sub
  end if


   call inserisci righe(valori..)
end sub
------------->opure meglio fare cosi?
-->tutto in una routine
codice:
public sub inserisci righe
on error goto gestore:
connessione.begintrans
   strsql="insert into testate....
     connessione.execute

   strsql ="insert into righe....
     connessione.execute

connessione.committrans
exit sub

gestiore:
connesione.rollbacktrans
end sub
secondo me il secondo metodo occupa troppe linnee in quanto dentro righe ci devo inserire 20 linnee per ogni testata
quindi diventa troppo lungo da gestire
mentre il primo metodo è semplice da gestire ma nn gestisto appieno
le tarnsazioni in qwuanto se ho un errore in righe nn posso ripristinare le testare