Gracias por ayudarme.
Código Delphi
[-]
Procedure calculartotales();
Var consulta : String;
var totcosent, totcanent : integer;
var totcosentf, totcanentf : real;
var totalcosto, totalcantidad : real;
begin
totcosent := 0;
totcanent := 0;
totcosentf := 0;
totcanentf := 0;
try
with DMDatos.QryConsultas do
begin
close;
SQL.Clear;
consulta := 'SELECT sum(canproducto)as cantidades, sum(canproducto*valproducto) as totales FROM tabdetentrpro t where t.identrada = '+chr(39)+frmEntradas.txtPrimaryKey.Text+char(39);
SQL.Add(consulta);
Open;
frmEntradas.txtTotCanPro.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtCosTotPro.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
frmEntradas.txtTotGenCanPro.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtTotGenCosPro.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
totcanent := (DMDatos.qryConsultas.FieldValues['Cantidades']);
totcosent := (DMDatos.qryConsultas.FieldValues['totales']);
end;
except
begin
frmEntradas.txtTotCanPro.Text := '0';
frmEntradas.txtCosTotPro.Text := '0';
frmEntradas.txtTotGenCanPro.Text := '0';
frmEntradas.txtTotGenCosPro.Text := '0';
end;
end;
try
with DMDatos.QryConsultas do
begin
close;
SQL.Clear;
consulta := 'SELECT sum(pesmaterial)as peso, sum(pesmaterial*cosmaterial) as totales FROM tabdetentrmat t where t.identrada = '+chr(39)+frmEntradas.txtPrimaryKey.Text+char(39);
SQL.Add(consulta);
Open;
frmEntradas.txtTotCanMat.Text := FormatFloat('#,#.#',DMDatos.qryConsultas.FieldValues['Peso']);
frmEntradas.txtCosTotMat.Text := FormatFloat('#,#.#',DMDatos.qryConsultas.FieldValues['totales']);
frmEntradas.txtTotGenCanMat.Text := FormatFloat('#,#.#',DMDatos.qryConsultas.FieldValues['Peso']);
frmEntradas.txtTotGenCosMat.Text := FormatFloat('#,#.#',DMDatos.qryConsultas.FieldValues['totales']);
totcanentf := (DMDatos.qryConsultas.FieldValues['Peso']);
totcosentf := (DMDatos.qryConsultas.FieldValues['totales']);
end;
except
begin
frmEntradas.txtTotCanMat.Text := '0';
frmEntradas.txtCosTotMat.Text := '0';
frmEntradas.txtTotGenCanMat.Text := '0';
frmEntradas.txtTotGenCosMat.Text := '0';
end;
end;
try
with DMDatos.QryConsultas do
begin
close;
SQL.Clear;
consulta := 'SELECT sum(canPiedra)as cantidades, sum(canPiedra*CosPiedra) as totales FROM tabdetentrpie t where t.identrada = '+chr(39)+frmEntradas.txtPrimaryKey.Text+char(39);
SQL.Add(consulta);
Open;
frmEntradas.txtTotCanPie.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtCosTotPie.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
frmEntradas.txtTotGenCanPie.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtTotGenCosPie.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
totcanent := totcanent + (DMDatos.qryConsultas.FieldValues['Cantidades']);
totcosent := totcosent + (DMDatos.qryConsultas.FieldValues['totales']);
end;
except
begin
frmEntradas.txtTotCanPie.Text := '0';
frmEntradas.txtCosTotPie.Text := '0';
frmEntradas.txtTotGenCanPie.Text := '0';
frmEntradas.txtTotGenCosPie.Text := '0';
end;
end;
try
with DMDatos.QryConsultas do
begin
close;
SQL.Clear;
consulta := 'SELECT sum(canInsumo)as cantidades, sum(canInsumo*CosInsumo) as totales FROM tabdetentrins t where t.identrada = '+chr(39)+frmEntradas.txtPrimaryKey.Text+char(39);
SQL.Add(consulta);
Open;
frmEntradas.txtTotCanIns.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtCosTotIns.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
frmEntradas.txtTotGenCanIns.Text := IntToStr(DMDatos.qryConsultas.FieldValues['Cantidades']);
frmEntradas.txtTotGenCosIns.Text := IntToStr(DMDatos.qryConsultas.FieldValues['totales']);
totcanent := totcanent + (DMDatos.qryConsultas.FieldValues['Cantidades']);
totcosent := totcosent + (DMDatos.qryConsultas.FieldValues['totales']);
end;
except
begin
frmEntradas.txtTotCanIns.Text := '0';
frmEntradas.txtCosTotIns.Text := '0';
frmEntradas.txtTotGenCanIns.Text := '0';
frmEntradas.txtTotGenCosIns.Text := '0';
end;
end;
totalcosto := totcosent + totcosentf;
totalcantidad := totcanent + totcanentf;
frmEntradas.txtTotCanEnt.Text := FormatFloat('#,#.#',totalcantidad);
frmEntradas.txtTotCosEnt.Text := FormatFloat('#,#.#',totalcosto);
me sigue sacando el mismo calculo mal, con los enteros funciona bien, pero al sumar los reales, nada. gracias.
aca hago la bendita suma
totalcosto := totcosent + totcosentf;
totalcantidad := totcanent + totcanentf;
Maury