|
Gracias por tu respuesta, he probado pero no funciona.
Estos son los procedimientos:
procedure Sel_Alu_A;
begin
IBDataset1.close;
IBDataset1.selectsql.clear;
IBDataset1.selectsql.add('select * from alu000 where estado = ');
IBDataset1.selectsql.add(' quotedstr('A') );
IBDataset1.open;
end;
procedure Sel_Alu_B;
begin
IBDataset2.close;
IBDataset2.selectsql.clear;
IBDataset2.selectsql.add('select * from alu000 where estado = ');
IBDataset2.selectsql.add(' quotedstr('B') );
IBDataset2.open;
end;
Se trata de un sistema para colegios, a medida que navegas por las familias los dos DBgrid en cuestion muestran los hijos (alumnos) que concurren al establecimiento. Un DBGRid muestra los que concurren (estado = 'A') y el otro muestra los que ya egresaron o se fueron (estado = 'B').
Pasa que siempre hay alguno que vuelve o que se va; por eso al hacer doble click lo reactiva con todos sus datos, solo le cambia el estado de 'B' a 'A' y viceversa.
El update lo hace bien y luego disparo los procedures Sel_Alu_A y Sel_alu_B para que recomponga los dos DBgrids.
Por ejemplo: si doy de baja un alumno, desaparece del dbgrid1 pero no aparece en el dbgrid2; ahora si navego por las familias el dbgrid2 muestra los que estan de baja de cada familia, se entiende? es como que afecta solamente al registro modificado, ese NO LO VE; a menos que cierre el formulario e ingrese nuevamente, ahi si refleja el cambio.
Me parece que la cosa viene por el lado de la Transaccion pero que?
Saludos
|