Ir para conteúdo
Fórum Script Brasil
  • 0

Mostrar Valor Total do dia DELPHI


Mesfistofeles

Pergunta

Gostaria saber como faço para saber o total de vendas por dia.

Tentei fazer assim:

var
v1,v2,v3,v4 :double;
begin
datamodule1.qvendacli.filtered:=true;
datamodule1.qvendacli.filter:= ('datavenda");
v1:=datamodule1.Dinheirodin.AsCurrency;
v2:=datamodule1.Chequecheq.AsCurrency;
v3:=datamodule1.Debitodeb.AsCurrency;
v4:=datamodule1.Creditocred.AsCurrency;
datamodule1.QTotal.Edit;
datamodule1.QTotaltotalmov.AsCurrency:=v1+v2+v3+v4;
end;
end.

Acontece que esta somando todos os valores do Banco de dados e não só o que o cliente vendeu naquele no dia.

Dede de já agradeço a força.

Editado por Mesfistofeles
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Gostaria saber como faço para saber o total de vendas por dia

(...)

Acontece que esta somando todos os valores do Banco de dados e não só o que o cliente vendeu naquele no dia.

Mesfistofeles, provavelmente porque seu filtro não está "olhando" o dia (data). Basta que você observe como está sua consulta - em algum lugar, você deveria filtrar, além do cliente, a data em questão.

Partindo do princípio de que você está atualizando outra tabela com estes valores (é o que parece que você faz com QTotal.Edit, ...), talvez fosse mais apropriado que você contruisse uma query de UPDATE onde você atualizará o campo TotalMov a partir do somatório dos campos somados (SUM) das outras tabelas onde você filtra a data desejada.

Abraços

p.s. Quando postar código, use a tag

 ... seu código ... [/ CODE] (sem o espaço depois da "/") ;)
Link para o comentário
Compartilhar em outros sites

  • 0

Olá Micheus, bom dia.

Não sei como fazer isto,(upadate) numa adoquery, porque estes campos:

v1:=datamodule1.Dinheirodin.AsCurrency;
v2:=datamodule1.Chequecheq.AsCurrency;
v3:=datamodule1.Debitodeb.AsCurrency;
v4:=datamodule1.Creditocred.AsCurrency;
São na verdade campos de ADOQUERYS distintas já que não consegui fazer um Select SUM em que pudesse ter todos estes campos. Talvez se conseguisse creio que seria mais fácil mas não consegui fazer, por exemplo, da forma que fiz dava um erro. A select abaixo, foi a primeira idéia que tive antes da: "var v1,v2,v3..." que Eu citei logo acima.
Select sum (din.cheque,debito,credito] as total from totalmov,venda where datamov:=data_venda;

Mas dá erro diz que a expressão esta errada.

Desde já agradeço pela ajuda.

Editado por Mesfistofeles
Link para o comentário
Compartilhar em outros sites

  • 0
Não sei como fazer isto,(upadate) numa adoquery, porque estes campos:

v1:=datamodule1.Dinheirodin.AsCurrency;
v2:=datamodule1.Chequecheq.AsCurrency;
v3:=datamodule1.Debitodeb.AsCurrency;
v4:=datamodule1.Creditocred.AsCurrency;
São na verdade campos de ADOQUERYS distintas já que não consegui fazer um Select SUM em que pudesse ter todos estes campos. Talvez se conseguisse creio que seria mais fácil mas não consegui fazer, por exemplo, da forma que fiz dava um erro.
Mesfistofeles, considere que cada ADOQuery vem de uma tabela e que há uma relação entre elas (algum campo deve fazer isto), e é através destes campos que você vai conseguir trazer as informações de cada uma das tabelas. Eventualmente, pode ocorrer o banco utilizado não "aceitar" uma update assim e, neste caso, o jeito seria mesmo como você está fazendo.
A select abaixo, foi a primeira idéia que tive antes da: "var v1,v2,v3..." que Eu citei logo acima.
Select sum (din.cheque,debito,credito] as total from totalmov,venda where datamov:=data_venda;

Mas dá erro diz que a expressão esta errada.

se estiver deste jeito, o erro está no fato de você ter usado o "]" no lugar de ")". Mas, ainda tem um erro de "lógica", pelo fato de você utilizar duas tabelas na cláusula FROM e não fazer o relacionamento entre elas na cláusula WHERE.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...