Ver Mensaje Individual
  #3  
Antiguo 03-05-2005
Fita Fita is offline
Miembro
 
Registrado: jul 2003
Ubicación: Pilar - Argentina
Posts: 218
Reputación: 23
Fita Va por buen camino
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
Responder Con Cita