Supongo que en el DataSet Detalle no tienes bien puesto el where del SQL.
Cabecera es (ID integer, datos string)
- PK ID
Detalle es (ID_CAB integer, datos_det string);
- FK ID_CAB=Cabecera.ID
Código Delphi
[-]
begin
[Conectar Base de Datos]
[Iniciar Transacciones]
DSM.Close;
DSD.Close;
DSM.SelectSQL.Text = 'SELECT * FROM CABECERA';
DSD.SelectSQL.Text = 'SELECT * FROM DETALLE WHERE ID_CAB=?ID';
DSD.DataSource := DTM;
DSM.Open;
DSD.Open;
end;
Si ves el ejemplo que te he puesto, los campos no se tienen que llamar igual necesariamente, pero los nombres de los parámetros si. (
?ID es el nombre que tiene el campo en Cabecera)
Si posteas la estructura de las dos tablas, quizás te pueda decir qué debes poner en cada uno de los dos SelctSQL.