Vale,
Postea el código de AbrirTablas.
Si la inserción y el selct están en dos transacciones diferentes, nunca se verán.
Código:
{Abro transacciones}
T1.StartTransaction
T2.StartTransaction
{Hago una cosa en cada una}
T2.Insertarcampos
T1.Select <------ Topdavía no se ha enterado de lo de T2
{Refresco la transaccion}
T1.Commit
T1.StartTransaction <------ Ahora sabe lo de T2
{Ahora ya veo lo que haya hecho T2}
T1.Select
{Cierro transacciones}
T1.Commit
T2.Commit
Normalmente, cuando hago un procedimiento para abrir tablas, la filosofía es "
Reabrir" tablas.
Si trabajas con mas de una transacción también deberás refrescarla.
Código Delphi
[-]
Tabla.Close;
if (Tabla.Transaction.InTransaction) then
Tabla.Transaction.Commit;
Tabla.Transaction.StartTransaction;
Tabla.Open;