Fórum Somar um campo e exibir em um edit #341060
28/04/2007
0
Estou usando ADOQuery, MySQL e Delphi 2006.
Mcsmarmcs
Curtir tópico
+ 0Posts
28/04/2007
Paullsoftware
procedure TfLocacao.Total; begin vTotal:=0; With DM_BANCO do begin DETLOCACAO.First; While Not DETLOCACAO.Eof do begin if DETLOCACAO.FieldByName(´BONUS´).AsString = ´N´ Then vTotal := vTotal + DETLOCACAO.FieldbyName(´VALOR_FILME´).AsCurrency; DETLOCACAO.Next; end; vTotal := vTotal; LOCACAO.Edit; LOCACAOTotal.Value := vTotal; LOCACAO.Post; LOCACAO.ApplyUpdates; end; //n1 // lblTotal.Caption := ´R$ ´ + FormatFloat(´#,,0.00´,vTotal); end;
hoje não faço mais assim, mais a lógica é essa, espero ter ajudado :wink:
Gostei + 0
29/04/2007
Mcsmarmcs
Só uma pergunta: vc disse q não faz mais desta forma, como vc faz então?
Gostei + 0
29/04/2007
Mcsmarmcs
O código abaixo precisa aparecer 12 vezes, pois seria uma vez pra cada mês, mas certamente teria como compactar isso. Eu preciso exibir a soma de cada mês em um campo edit diferente.
procedure Tgrafvendas.BitBtn2Click(Sender: TObject);
var
vTotal: double;
begin
vTotal:=0;
dm.consvendas.Close;
dm.consvendas.SQL.Clear;
dm.consvendas.SQL.Add(´SELECT * FROM vendas WHERE EXTRACT(MONTH FROM data_venda) = 2´);
dm.consvendas.Open;
dm.consvendas.First;
While Not dm.consvendas.Eof do
begin
if dm.consvendas.FieldByName(´total´).AsString <> ´0´ then
vTotal := vTotal + dm.consvendas.FieldbyName(´total´).AsCurrency;
dm.consvendas.Next;
end;
vTotal := vTotal;
edit2.Text := ´R$ ´ + FormatFloat(´#,,0.00´,vTotal);}
end;
Gostei + 0
29/04/2007
Marco Salles
procedure Tgrafvendas.BitBtn2Click(Sender: TObject); begin vTotal:=0; dm.consvendas.Close; dm.consvendas.SQL.Clear; dm.consvendas.SQL.Add(´SELECT Sum(Total) as Soma FROM vendas WHERE EXTRACT(MONTH FROM data_venda) = 2´); dm.consvendas.Open; edit2.Text := currencyString + FormatFloat(´#,,0.00´, dm.consvendas.fieldByName(´Soma´).ascurrency);} end;
Gostei + 0
29/04/2007
Paullsoftware
Gostei + 0
29/04/2007
Mcsmarmcs
Valeu pela atenção!
Gostei + 0
30/04/2007
Marco Salles
citação de Amcro salles
citação de paullsoftware
citaçao de mcsmarmcs
Veja , da maneira que voce fez usando um Sql para acessar o Base de Dados
[u:e2e10bacb6]acho que voce deve usar o Sum [/u:e2e10bacb6], ao invez do While.. Em pequenas aplicaçoes desktop , com base de dados pequena , pode não perceber diferença. Mas sua performace pode ser prejudicada se não usar o Sum em muitas oputra situaçoes
Gostei + 0
30/04/2007
Mcsmarmcs
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)