<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>
<div>Puedes utilizar transacciones, captura de errores con TRY y utilizando los componentes Zeos.</div><div><br></div><div>En el siguiente ejemplo puedes ver la idea (no es funcional). A manera de ilustración.</div><div><br></div><div><br></div><div>Try</div><div>Query1.Post; // Se guarda la información de la primera tabla.</div><div>CodigoTabla1:= Query1.fielbyname('id').Asinteger;  // Se toma el código del registro activo, osea el último que se ingresó obviamente.</div><div><br></div><div>//Aquí se ejecuta la sentencia para la tabla2, insertando en el campo corespondiente el valor de CodigoTabla1.</div><div><br></div><div>//Aquí se hace un Commit (Postgresql tiene activo el autocomit);</div><div><div>Query1.SQL.clear;</div><div>Query1.SQL.ADD('COMMIT'); // Se deshacen todos los cambios realizados a la base de datos</div><div>Query1.ExcecSql;</div></div><div><br></div><div>Except  //Si la operación se interrumpe antes de terminar se hace un Rollback, no se guarda nada.</div><div>Query1.SQL.clear;</div><div>Query1.SQL.ADD('ROLLBACK'); // Se deshacen todos los cambios realizados a la base de datos</div><div>Query1.ExcecSql;</div><div>End;</div><div><br></div><div>De esta forma lo he realizado con PostgreSQL.</div><div><br></div><div>Espero que sea de utilidad y haber sido lo suficientemente claro.</div><br>Ulises Díaz<div>Skype: udiaz60<br><div>Ing. de Sistemas</div><div>Colombia</div></div>                                           </div></body>
</html>