Fórum delphi - puxar total de vendas para um edit #585208
23/08/2017
0
estou fazendo um programa em delphi e eu queria puxar um total de vendas (de um determinado mês) e colocar ele dentro de um edit
fiz o seguindo
var
total: real;
begin
Total := 0;
ClientDataSet1.Open;
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
total := total + ClientDataSet1.FieldByName('PREÇO DE VENDA').AsFloat;
ClientDataSet1.Next;
Edit2.Text := FormatFloat('###,###,##0.00', Total);
end;
end;obs: Não, eu não sou preguiçoso eu vou mudar o nome da minha tabela kkkk
isso deu certo, puxou um total de vendas mas puxou TODOS e eu quero um total de vendas de um determinado mês, por exemplo o de agosto
Obrigado Pessoal
Fiquem com Deus e não desistem lkk
Abraços.
Gabriek
Curtir tópico
+ 0Posts
24/08/2017
Natanael Ferreira
Exemplo:
var
total: real;
begin
total := 0;
ClientDataSet1.Open;
ClientDataSet1.Filtered := False;
ClientDataSet1.Filter := '(Data >= ' + QuotedStr('01/08/2017') + ') and (Data <= ' +
QuotedStr('31/08/2017') + ')';
ClientDataSet1.Filtered := True;
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
total := total + ClientDataSet1.FieldByName('PREÇO DE VENDA').AsFloat;
ClientDataSet1.Next;
Edit2.Text := FormatFloat('###,###,##0.00', total);
end;
ClientDataSet1.Filtered := False;
end;Coloquei a data fixa no codigo. Você pode substituir por uma data variavel atraves do DateTimePicker.
Gostei + 0
24/08/2017
Gabriek
Obrigado
esse datetimepicker fica onde? no clientedataset?
Gostei + 0
24/08/2017
Natanael Ferreira
Com este componente o usuário consegue selecionar uma data e o seu programa pode buscar essa data para filtrar o código.
Exemplo coloque 2 Datetimepicker's no form:
var
total: real;
begin
total := 0;
ClientDataSet1.Open;
ClientDataSet1.Filtered := False;
ClientDataSet1.Filter := '(Data >= ' + QuotedStr(DateToStr(DateTimePicker1.Date)) +
') and (Data <= ' + QuotedStr(DateToStr(DateTimePicker2.Date)) + ')';
ClientDataSet1.Filtered := True;
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
total := total + ClientDataSet1.FieldByName('PREÇO DE VENDA').AsFloat;
ClientDataSet1.Next;
Edit2.Text := FormatFloat('###,###,##0.00', total);
end;
ClientDataSet1.Filtered := False;
end;Assim será filtrado pelo intervalo de datas selecionado nos DateTimePicker's.
Gostei + 0
24/08/2017
Gabriek
procedure TFPrincipal.Button2Click(Sender: TObject);
var
total: real;
begin
Total := 0;
ClientDataSet1.Open;
qryConsulta.Open;
ClientDataSet1.Filtered := False;
ClientDataSet1.Filter := '(DATA >= ' + QuotedStr(DateToStr(DateTimePicker1.Date)) + ') and (DATA <= ' +
QuotedStr(DateToStr(DateTimePicker2.Date)) + ')';
ClientDataSet1.Filtered := True;
ClientDataSet1.First;
while not ClientDataSet1.Eof do
begin
total := total + ClientDataSet1.FieldByName('PREÇO DE VENDA').AsFloat;
ClientDataSet1.Next;
Edit2.Text := FormatFloat('###,###,##0.00', Total);
end;
ClientDataSet1.Filtered :=false;
end;Gostei + 0
24/08/2017
Gabriek
minha query tinha um parametro data, por isso não puxava nada
Obrigado caro amigo,
Gostei + 0
24/08/2017
Gabriek
Gostei + 0
24/08/2017
Natanael Ferreira
Se sim, altere a propriedade Format dos DateTimePicker para MM/yyyy.
Gostei + 0
24/08/2017
Natanael Ferreira
Altere altere a propriedade Format dos DateTimePicker para MMMM/yyyy
Veja a documentação oficial com todas as mascaras disponiveis:
http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/ComCtrls_TDateTimePicker_Format.html
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)