delphi - puxar total de vendas para um edit
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
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.
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
Curtidas 0
Respostas
Natanael Ferreira
23/08/2017
Você precisa filtrar o ClientDataSet por data antes de dar o Loop nele.
Exemplo:
Coloquei a data fixa no codigo. Você pode substituir por uma data variavel atraves do DateTimePicker.
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
Gabriek
23/08/2017
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?
Obrigado
esse datetimepicker fica onde? no clientedataset?
GOSTEI 0
Natanael Ferreira
23/08/2017
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:
Assim será filtrado pelo intervalo de datas selecionado nos DateTimePicker's.
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
Gabriek
23/08/2017
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;GOSTEI 0
Gabriek
23/08/2017
consegui, consegui
minha query tinha um parametro data, por isso não puxava nada
Obrigado caro amigo,
minha query tinha um parametro data, por isso não puxava nada
Obrigado caro amigo,
GOSTEI 0
Gabriek
23/08/2017
Tem algum modo de puxar só o mes, sem precisar colocar os dias?
GOSTEI 0
Natanael Ferreira
23/08/2017
Você quer alterar a exibição 08/2017, por exemplo?
Se sim, altere a propriedade Format dos DateTimePicker para MM/yyyy.
Se sim, altere a propriedade Format dos DateTimePicker para MM/yyyy.
GOSTEI 0
Natanael Ferreira
23/08/2017
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
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