delphi - puxar total de vendas para um edit

23/08/2017

0

Fala pessoal tudo bem?


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

Gabriek

Responder

Posts

24/08/2017

Natanael Ferreira

Você precisa filtrar o ClientDataSet por data antes de dar o Loop nele.
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.
Responder

24/08/2017

Gabriek

a data vaial atras do date time picker seria 'DD/MMMM/YYYY'' ?? só não entendi essa parte, não gosto de só jogar o codigo, gosto de entende-lo kk

Obrigado

esse datetimepicker fica onde? no clientedataset?
Responder

24/08/2017

Natanael Ferreira

O DatetimePicker é um componente que fica na palheta Win32 da IDE do Delphi.

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.
Responder

24/08/2017

Gabriek

meu codigo ficou assim, quando clico no botão nada acontece kkk





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;
Responder

24/08/2017

Gabriek

consegui, consegui

minha query tinha um parametro data, por isso não puxava nada

Obrigado caro amigo,
Responder

24/08/2017

Gabriek

Tem algum modo de puxar só o mes, sem precisar colocar os dias?
Responder

24/08/2017

Natanael Ferreira

Você quer alterar a exibição 08/2017, por exemplo?

Se sim, altere a propriedade Format dos DateTimePicker para MM/yyyy.
Responder

24/08/2017

Natanael Ferreira

Se quiser mostrar o mês por extenso, exemplo agosto/2017.
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
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar