hola de nuevo!!!
esto se me escapa de mis manos asi que recurro a todos que me hechen una mano, la situcion es la sgte:
Código Delphi
[-]
procedure TDM.tbPrecioCalcFields(DataSet: TDataSet);
begin
if not (DataSet.State = dsInsert) then
begin
DataSet.FieldByName('Total_Cargos').Value := tbCargos.FieldByName('embalaje').Value + tbCargos.FieldByName('comision').Value +
tbCargos.FieldByName('otros').Value +
ObtenerValor(Dataset.FieldByName('id_tipo_precio').Value);
DataSet.FieldByName('Precio_Venta').Value := ((tbUnidad_Venta.FieldValues['Costo'] * DataSet.FieldByName('Total_Cargos').Value)/100) +
tbUnidad_Venta.FieldValues['Costo'];
DataSet.FieldByName('embalaje').Value := (tbUnidad_Venta.FieldValues['Costo'] * tbCargos.FieldByName('embalaje').Value)/100;
DataSet.FieldByName('comision').Value := (tbUnidad_Venta.FieldValues['Costo'] * tbCargos.FieldByName('comision').Value)/100;
DataSet.FieldByName('otros').Value := (tbUnidad_Venta.FieldValues['Costo'] * tbCargos.FieldByName('otros').Value)/100;
DM.miSQL.Close;
DM.miSQL.SQL.Clear;
DM.miSQL.SQL.Add('select transporte from tipo_precio where id_tipo_precio = ' + floattostr(Dataset.FieldByName('id_tipo_precio').Value));
DM.miSQL.Open;
DataSet.FieldByName('trasporte').Value := (tbUnidad_Venta.FieldValues['Costo'] * DM.miSQL.Fields[0].Value)/100;
DM.miSQL.Close;
DM.miSQL.SQL.Clear;
DM.miSQL.SQL.Add('select utilidad from tipo_precio where id_tipo_precio = ' + floattostr(Dataset.FieldByName('id_tipo_precio').Value));
DM.miSQL.Open;
DataSet.FieldByName('utilidad').Value := (tbUnidad_Venta.FieldValues['Costo'] * DM.miSQL.Fields[0].Value)/100;
end;
el problema surge cuando modifico el campo atravez de un campo de busqueda asoaciado a un dbgrid y me lanza el sgte mensaje "Stack over Flow".... cualquier sugerencia es de ayuda !!!