dbExpress - ClientDataSets anidados
Amigos
Tengo 2 tablas sql:
Maestro
ID (autoinc, integer, PK)
Campo1 (varchar(20))
Detalle
ID (autoinc, integer, PK)
IDMaestro (integer, FK al Maestro)
Campo1 (varchar(20))
Mi problema es que al crear un nuevo detalle, al campo Detalle.ID se le asigna el valor de Maestro.ID, en vez de asignarseloa a Detalle.IDMaestro.
Si resuelvo esto a mano de la siguiente forma:
CDSDetalle.FieldByName('IDMaestro').AsInteger := CDSMaster.FieldByName('ID').AsInteger ;
CDSDetalle.FieldByName('ID').AsInteger := FID ;
Dec( FID );
me da error "No corresponding master record found" ya que cambié a mano Detalle.ID....
Mi pregunta es... cómo rompo esta relacion Maestro.ID = Detalle.ID y la cambio por Maestro.ID = Detalle.IDMaestro ???
Saludos
Pablo
|