No corresponding master record found como resolver
Boa Tarde Galera,
Estou desenvolvendo uma aplicacao mestre detalhes com clientdataset e dbexpress, porem estou com o seguinte problema:
Se eu fizer alguma alteracao no grid ou via codigo ele aceita sem propblemas porem quando eu tento inserir algum registro ele gera o erro ´No corresponding master record found´ eu estou passando todos os dados na mao e ja verifiquei e estao corretos. o que sera que pode estar acontecendo??? grato Bruno
Master
SELECT * FROM PEDIDOS WHERE CODIGO = :CODIGO
Detais
SELECT PI.*, IG.COD_ITEM, IC.DESCRICAO AS DESCCOR, IG.TAMANHO, IB.DESCRICAO AS BANHO, IP.DESCRICAO AS GRUPO, IG.COD_ITEM_COR, IG.COD_ITEM_BANHO, IG.COD_CAMADA
FROM PEDIDO_ITEM PI
LEFT JOIN ITEM_GRADE IG ON (IG.CODIGO = PI.COD_ITEM_GRADE)
LEFT JOIN ITEM_COR IC ON (IC.CODIGO = IG.COD_ITEM_COR)
LEFT JOIN ITEM_BANHO IB ON (IB.CODIGO = IG.COD_ITEM_BANHO)
LEFT JOIN ITEM_GRUPO IP ON (IP.CODIGO = IG.COD_ITEM_GRUPO)
WHERE PI.COD_PEDIDO = :CODIGO
Codigo Insercao simplificado
if cdsPedidosI.Locate(´COD_ITEM_GRADE´, cdsItemsCODIGO.AsString, [loCaseInsensitive]) then begin
dsPedidosI.Edit;
cdsPedidosIENTREGUE.Value := cdsPedidosIENTREGUE.AsInteger+cdsitemsENTREGUE.AsInteger;
end
else begin
cdsPedidosI.Insert;
cdsGetPedidoId.Open;
n := cdsGetPedidoIdID.AsInteger;
cdsGetPedidoId.Close;
cdsPedidosICODIGO.Value := n; //Codigo auto incremento
cdsPedidosICOD_PEDIDO.AsInteger := cdsPedidosCCODIGO.AsInteger; //Codigo Master
end;
cdspedidosI.Post;
Estou desenvolvendo uma aplicacao mestre detalhes com clientdataset e dbexpress, porem estou com o seguinte problema:
Se eu fizer alguma alteracao no grid ou via codigo ele aceita sem propblemas porem quando eu tento inserir algum registro ele gera o erro ´No corresponding master record found´ eu estou passando todos os dados na mao e ja verifiquei e estao corretos. o que sera que pode estar acontecendo??? grato Bruno
Master
SELECT * FROM PEDIDOS WHERE CODIGO = :CODIGO
Detais
SELECT PI.*, IG.COD_ITEM, IC.DESCRICAO AS DESCCOR, IG.TAMANHO, IB.DESCRICAO AS BANHO, IP.DESCRICAO AS GRUPO, IG.COD_ITEM_COR, IG.COD_ITEM_BANHO, IG.COD_CAMADA
FROM PEDIDO_ITEM PI
LEFT JOIN ITEM_GRADE IG ON (IG.CODIGO = PI.COD_ITEM_GRADE)
LEFT JOIN ITEM_COR IC ON (IC.CODIGO = IG.COD_ITEM_COR)
LEFT JOIN ITEM_BANHO IB ON (IB.CODIGO = IG.COD_ITEM_BANHO)
LEFT JOIN ITEM_GRUPO IP ON (IP.CODIGO = IG.COD_ITEM_GRUPO)
WHERE PI.COD_PEDIDO = :CODIGO
Codigo Insercao simplificado
if cdsPedidosI.Locate(´COD_ITEM_GRADE´, cdsItemsCODIGO.AsString, [loCaseInsensitive]) then begin
dsPedidosI.Edit;
cdsPedidosIENTREGUE.Value := cdsPedidosIENTREGUE.AsInteger+cdsitemsENTREGUE.AsInteger;
end
else begin
cdsPedidosI.Insert;
cdsGetPedidoId.Open;
n := cdsGetPedidoIdID.AsInteger;
cdsGetPedidoId.Close;
cdsPedidosICODIGO.Value := n; //Codigo auto incremento
cdsPedidosICOD_PEDIDO.AsInteger := cdsPedidosCCODIGO.AsInteger; //Codigo Master
end;
cdspedidosI.Post;
Bterossi
Curtidas 0