Hola, PatriciaBB.
Sería interesante ver tu código para poder analizarlo y descubrir dónde está el problema.
Seguramente vengan quienes mejor dominan las bases de datos y te ilustren, pero mientras tanto te comento algo.
La transacción se abre una vez, luego se realizan todas las operaciones que necesites y finalmente se confirma la transacción o se deshacen las operaciones si hubo algún error. Sería algo así:
On Error Goto ManejadorError
BD.BeginTrans 'Se inicia la transacción
BD.Execute "INSERT INTO tabla..."
...
BD.CommitTrans 'Confirmación de la transacción
Exit Sub
ManejadorError:
BD.RollBackTrans 'Se anula la transacción y todas las operaciones que se hicieron a la base de datos desde BD.BeginTrans en adelante.
Espero haber entendido tu pregunta. Y reitero: luego seguramente vengan los gurús de las BD y te aclaren mejor la situación.
Jerónimo