Ver Mensaje Individual
  #1  
Antiguo 13-10-2010
PabloZZZ PabloZZZ is offline
Miembro
 
Registrado: mar 2008
Posts: 20
Reputación: 0
PabloZZZ Va por buen camino
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
Responder Con Cita