Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas para sumar en TDBGrid (https://www.clubdelphi.com/foros/showthread.php?t=51537)

whatson 18-12-2007 16:33:24

Problemas para sumar en TDBGrid
 
Buenos dias a Todos. Les pido su colaboracion para resolver este problema que tengo con la suma en las columnas de cantidad de articulos e Importe.
No he podido colocar estos valores en sus respectivos LabelImporte y LabelCantArticulos, ademas de ponerme un error "incompatible types" en la linea del While.

Cualquier comentario al respecto Me sera de mucha Utilidad
De antemano Muchas gracias.

Código:

procedure TFormPrincipal.DBGrid11KeyPress(Sender: TObject; var Key: Char);
begin
  If Key = #13 then  //  Si se pulsa la tecla ENTER en el Grid
      begin
          if DBGrid11.Fields[1].Value = Null then
                  DBGrid11.Fields[1].AsFloat := 1; // CANTIDAD
                  if DBGrid11.Fields[1].Value = Null  then
                    DBGrid11.Fields[4].AsFloat := 0; // PRECIO UNITARIO
                    DBGrid11.Fields[5].AsFloat := DBGrid11.Fields[1].AsFloat * DBGrid11.Fields[4].AsFloat; // IMPORTE
                    LabelImporte.Caption := '0';
                    LabelCantArticulos.Caption := '0';
                    DataSourcePartVta.DataSet.First; // primer registro
                    While DataSourcePartVta.DataSet.EnableControls = False do
                      begin
                          DBGrid11.Fields[5].AsFloat:= DBGrid11.Fields[1].AsFloat * DBGrid11.Fields[4].AsFloat;
                          LabelImporte.Caption:=FloatToStr(DBGrid11.Fields[5].AsFloat + StrToFloat(LabelImporte.Caption));
                          LabelCantArticulos.Caption:=FloatToStr(DBGrid11.Fields[1].AsFloat + StrToFloat(LabelCantArticulos.Caption));
                          DataSourcePartVta.DataSet.Next; // siguiente registro
                      end;
                  end;
      end;
end.


whatson 18-12-2007 17:34:08

Ya me funciono, Muchas gracias.
Fue con

Código:


While not (DBGrid11.DataSource.DataSet.Eof) do



La franja horaria es GMT +2. Ahora son las 21:45:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi