Ver Mensaje Individual
  #7  
Antiguo 31-03-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Reputación: 21
gluglu Va por buen camino
He revisado tu código que adjuntas.

En :
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule2.Master.Append;
end;

lo que estás haciendo es un Append, y junto con el Generador que tienes puesto estás incremento ese generador en 1. Pero no estás realizando el POST correspondiente, que es la razón principal del error que te está dando.

Al pulsar el Button3 y ejecutar :
Código Delphi [-]
procedure TDataModule2.MasterAfterPost(DataSet: TDataSet);
begin
  Lineas.Post;

  IBDatabase.ApplyUpdates([Master, Lineas]);
  IBTransaction.CommitRetaining;

  Lineas.DataSource := dsMaster;
end;
me dá error en la primera línea ya que Lineas no está en Modo Edit y por lo tanto no se puede realizar un Post de Líneas.

O eso es al menos lo que me parece a mi.

La cuestión es que te has liado mucho en tu código cuando es más fácil de lo que te imaginas.

Haciendo algunos cambios en tu código como eliminar todo el código de MasterAfterPost a mi me funciona, aunque mi manera de programar será difente a la tuya.

Todo el error del Foreign Key viene porque te tienes que ASEGURAR que antes de que ejecutes el Post de la tabla LINEAS, tiene que estar hecho el POST de MASTER.

Espero haberte ayudado un poco.
__________________
Piensa siempre en positivo !
Responder Con Cita