saludos
Para hacer la relacion maestro detalle lo que hago es por medio de los ibdataset, en el maestro coloco las sentencias sql de insert, refresh, update, delete, y en los detalles en la prop. datasource del ibdataset esta relacionada el Componente Tdatasource=dsPedidos ---> del componentes Ibpedidos
Y coloco las sentencias sql en el detalle
Código:
en select =select * from Where ID_detalle=:ID_pedido -->campo del Id pedido.
en refresh=select * from Where ID_detalle=:ID_detalle and Id_renglon=:Id_renglon
Update detalle set ID_detalle=:ID_detalle, Id_renglon=:Id_renglon, Precio=:Precio, cantidad=:cantidad, Material_Id=Material_Id where ID_detalle=:OLD_ID_detalle and Id_renglon=:OLD_Id_renglon
y insert detalle(campos) values(:ID_detalle,:Id_renglon)
Delete...
Y el codigo que uso es para hacer el calculo del importe de precio*cantidad en onCalcFields, y en afterPost y afterDelete lo que hago es un coclo con while not detalle do para hacer la sumatoria de los registros de importe para obtener el sutotal.
Y actualizo en este evento
Código PHP:
If Detalle.state[dsInsert, dsedit] then begin
detalle.transacction.commitRetaing;
detalle.refresh;
end;
No me guarda los cambios en el detalle, los hace temporalmente pero al actualizar o bien moverme de registro del detalle desaparecen vuleven a sus valores que tenia originalmente,
Como dije ya hice una aplicacion aparte, nada mas de esto que me ha pasado (maestro-detalle) y ahi si me acepta los cambio y he agregado regsitros y cambios y ahora por que en mi aplicacion que estoy llevando no quiere hacer estos cambio pareciera que no le agregado senetencias sql en le updatesql.
Gracias