Fórum Group by ou SUM ?? como fazer esse código? #182459

16/09/2003

0

Olá novamente, tenho um problema que surgiu de ultima hora e não consigo resolver.

Estou usando o comando Writeln para imprimir um cupom(comanda) para um restaurante, do jeito que estou fazendo está saindo da seguinte maneira

Produto : Chopp
Quantidade : 1
Valor : R$ 2,70

Produto : Chopp
Quantidade : 1
Valor : R$ 2,70

Produto : Chopp
Quantidade : 1
Valor : R$ 2,70


O que eu queria fazer é Agrupar esses pedidos iguais para que ficasse assim ( seguindo o exemplo acima)

Produto : Chopp
Quantidade : 3
Valor : R$ 8,70


Estou usando ADO e access, segue abaixo o código :

procedure TForm23.Button1Click(Sender: TObject);
var valor:real;
valor3 : real;
valor2 : real;
F: textfile;
I : Integer;
begin
With ADoDataSet1 do Begin
Close;
CommandText := ´Select Mesa,Descricao,qtd,valor´
+ ´ From Tabvendas, Produtos´
+ ´ where mesa = :pMesa and statusmesa=´´Aberta´´ and codprodvendas = codigoprod´;
Parameters.paramByName(´pMesa´).Value := Edit1.text;
Open;
End;
With ADoDataSet2 do Begin
Close;
CommandText := ´SELECT Sum(QTD) AS QTD1,SUM(VALOR * qtd) AS CUSTOTOT´
+ ´ From Tabvendas, Produtos´
+ ´ where mesa = :pMesa and statusmesa=´´Aberta´´ and codprodvendas = codigoprod´;
Parameters.paramByName(´pMesa´).Value := Edit1.text;
Open;
end;
AssignFile(F,´LPT1´);
Rewrite (F);
I := 0;
Adodataset1.First;
Writeln (F,´ ´,´Planet Beer Sports´);
Writeln (F,´´);
Writeln (F,´ ´,´Comanda Nro:´,´ ´,adodataset1Mesa.AsString);
Writeln (F,´´);
Writeln (F,´´);

While not adodataset1.Eof do
begin
Writeln (F,´ ´,´Produto :´, ´ ´,adodataset1Descricao.AsString);
Writeln (F,´ ´,´Quantidade :´,´ ´,adodataset1Qtd.AsString);
valor3 := strtofloat(dbedit4.text);
dbedit4.Text:=FormatCurr(´0.00´,valor3);
Writeln (F,´ ´,´Valor R$ :´,´ ´,dbedit4.text);
Writeln (F,´´);
adodataset1.Next;
end;
valor2 := strtofloat(dbedit6.text);
dbedit6.Text:=FormatCurr(´0.00´,valor2);
Writeln (F,´´);
Writeln (F,´ ´,´,Total R$´, dbedit6.text );
Closefile (F);

end;


[]´s


Shuljenko

Shuljenko

Responder

Posts

17/09/2003

Koplin

Tente assim:

CommandText := ´Select distinct Descricao,Mesa,sum(qtd),sum(valor)´
+ ´ From Tabvendas, Produtos´
+ ´ where mesa = :pMesa and statusmesa=´´Aberta´´ and codprodvendas = codigoprod group by Descricao,Mesa´;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar