La funzione che provvede al salvataggio richiama altre due funzioni che fanno una INSERT in altre due tabelle. Vorrei sapere se l'utilizzo della transaction così come ho fatto io va bene o meno.

codice:
  Dim Conn As New OleDb.OleDbConnection(xPref.StringaConnessione)
        Conn.Open()
        Dim Trans As OleDb.OleDbTransaction = Conn.BeginTransaction
        Dim sql As String = "INSERT INTO...
 Dim cmd As OleDb.OleDbCommand = New OleDb.OleDbCommand(sql, Conn, Trans)

  If cmd.ExecuteNonQuery > 0 Then
                If Salva1() = True And Salva2() = True Then
                    Trans.Commit()
                    MessageBox.Show("Salvataggio eseguito.", "Salvataggio eseguito", MessageBoxButtons.OK)
                Else
                    Trans.Rollback()
                End If
            Else
                If Trans.Connection IsNot Nothing Then Trans.Rollback()
                MessageBox.Show("Si è verificato un errore durante il salvataggio.")
            End If
Nelle funzioni Salva1 e Salva2 posso creare un'altra Transaction o devo passare la transaction della funzione principale?