Somar campo Dbgrid e mostrar resiltado no dbedit após pesqui
bOM DIA aMIGOS.
Tenho um aDBGRID onde Ele me faz via onshow uma pesquisa onde me mostra todos os valores de determinada data quando abro o form, só que gostaria de saber tb a soma de todo estes apurados do dia e mostra-la em um DBEDIT como faço.
Tentei colocar um select sum no código abaixo mas não aparece o novo filed para que Eu possa liga-lo ao dbedit.
begin
datamodule1.Qpaga.Close;
datamodule1.Qpaga.SQL.Clear;
datamodule1.Qpaga.SQL.Add(´Select * from formPagamento´);
datamodule1.Qpaga.SQL.Add(´Where data_venda = :data_venda´);
datamodule1.Qpaga.Parameters.ParamByName(´data_venda´).Value := date ();
datamodule1.Qpaga.Open;
end;
Tenho um aDBGRID onde Ele me faz via onshow uma pesquisa onde me mostra todos os valores de determinada data quando abro o form, só que gostaria de saber tb a soma de todo estes apurados do dia e mostra-la em um DBEDIT como faço.
Tentei colocar um select sum no código abaixo mas não aparece o novo filed para que Eu possa liga-lo ao dbedit.
begin
datamodule1.Qpaga.Close;
datamodule1.Qpaga.SQL.Clear;
datamodule1.Qpaga.SQL.Add(´Select * from formPagamento´);
datamodule1.Qpaga.SQL.Add(´Where data_venda = :data_venda´);
datamodule1.Qpaga.Parameters.ParamByName(´data_venda´).Value := date ();
datamodule1.Qpaga.Open;
end;
Fabiosus
Curtidas 0
Respostas
Osocram
15/07/2009
Acho que este seu problema tem milhares de soluções... tem que ver qual vai ficar melhor p vc.
Vou citar algunsa aqui.
1) Cria um campo Agregado no dataset ligado dbgrid... este campo agregado soma automaticamente.
2) cria uma funções que soma este campo varrendo o dataset inteiro e joga em um EDIT e nao DBEdit no caso. E chama esta função no BeforeOpen do DataSet por exemplo.
To indo almoçar... veja se um desses resolve senão depois tento pensar em outra solução.
flw.
Vou citar algunsa aqui.
1) Cria um campo Agregado no dataset ligado dbgrid... este campo agregado soma automaticamente.
2) cria uma funções que soma este campo varrendo o dataset inteiro e joga em um EDIT e nao DBEdit no caso. E chama esta função no BeforeOpen do DataSet por exemplo.
To indo almoçar... veja se um desses resolve senão depois tento pensar em outra solução.
flw.
GOSTEI 0
Fabiosus
15/07/2009
Então o meu problema é que: Eu gostaria de que depois de feita a pesquisa onde resulta só as datas daquele dia corrente por exemplo:
Todas as vendas do dia 16/06/2009
data Valor
16/06/2009 R$:1,00
16/06/2009 R$:25,00
16/06/2009 R$:10,00
16/06/2009 R$:5,00
Total R$ 37,00
O que está acontecendo é que fazendo um aggregate ele está me somando toda a tabela e não só a do dia. Como gostaria.
Tentei colocar tb no select Sum do código de pesquisa que é este:
datamodule1.Qpaga.Close;
datamodule1.Qpaga.SQL.Clear;
datamodule1.Qpaga.SQL.Add(´Select * from formPagamento´);
DATAMODULE1.QPAGA.SQL.ADD(SELECT SUM (dinheiroform) as total from formPagamento);
datamodule1.Qpaga.SQL.Add(´Where data_venda = :data_venda´);
datamodule1.Qpaga.Parameters.ParamByName(´data_venda´).Value := date ();
datamodule1.Qpaga.Open;
Mas ai me ocorreu uma outra dúvida alémde não ter tb dado certo:
Como faria neste caso para aparecer um campo field no meu adoquery ara que Eu pudesse linka-lo ao DBEDIT onde desejo colocar o resultado desta soma?
Todas as vendas do dia 16/06/2009
data Valor
16/06/2009 R$:1,00
16/06/2009 R$:25,00
16/06/2009 R$:10,00
16/06/2009 R$:5,00
Total R$ 37,00
O que está acontecendo é que fazendo um aggregate ele está me somando toda a tabela e não só a do dia. Como gostaria.
Tentei colocar tb no select Sum do código de pesquisa que é este:
datamodule1.Qpaga.Close;
datamodule1.Qpaga.SQL.Clear;
datamodule1.Qpaga.SQL.Add(´Select * from formPagamento´);
DATAMODULE1.QPAGA.SQL.ADD(SELECT SUM (dinheiroform) as total from formPagamento);
datamodule1.Qpaga.SQL.Add(´Where data_venda = :data_venda´);
datamodule1.Qpaga.Parameters.ParamByName(´data_venda´).Value := date ();
datamodule1.Qpaga.Open;
Mas ai me ocorreu uma outra dúvida alémde não ter tb dado certo:
Como faria neste caso para aparecer um campo field no meu adoquery ara que Eu pudesse linka-lo ao DBEDIT onde desejo colocar o resultado desta soma?
GOSTEI 0
Osocram
15/07/2009
tenta fazer o metodo 2 q eu passei.
Pois se vc tiver que fazer o sum no select vc vai ter q agrupar e p agrupar vc não vai trazer os registros que deseja detalhado.
Pois se vc tiver que fazer o sum no select vc vai ter q agrupar e p agrupar vc não vai trazer os registros que deseja detalhado.
GOSTEI 0
Fabiosus
15/07/2009
Bom dia.
Tentei fazer o método dois mais mesmo assim está somando tôda a tabela. Eu queria que somasse apenas o resultado da pesquisa...
Tentei fazer o método dois mais mesmo assim está somando tôda a tabela. Eu queria que somasse apenas o resultado da pesquisa...
GOSTEI 0
Osocram
15/07/2009
Amigo como vc fez para somar?
e qual o sql que vc executou?
e qual o sql que vc executou?
Bom dia.
Tentei fazer o método dois mais mesmo assim está somando tôda a tabela. Eu queria que somasse apenas o resultado da pesquisa...
GOSTEI 0
Fabiosus
15/07/2009
Eu fiz um campo aggregate numa adoquery masmesmo assim está somando toda a tabela.
Eu precisaria que somasse os valores do resultado da pesquisa.
Eu precisaria que somasse os valores do resultado da pesquisa.
GOSTEI 0