Somar coluna no DbGrid
Pessoal,
Estou precisando somar uma coluna de um dbgrid. Pesquisei e encontrei em parte a solução, foi num tópico que dizia para criar um campo agregado.
Até aí tudo bem, porém agora preciso mostrar esta soma no formulário´
Não estou conseguindo fazer este passo.
Como está o meu sistema.
Tenho um DataModulo que tem todos os componentes SQLDS + DSP + CDS + DS que preciso.
No evento AfterPost do cds_ItemPedido estou colocando a seguinte instrução:
-formCadastroPedido.lbl_VlrCompra.Caption := cds_ItemPedidoVALORTOTAL.AsVariant;
Coloquei na clausula uses a referencia para este form.
Só que quando executo o sistema dá este erro.
´Access violation at address 004EA057 in module <meu modulo>. Read of address 000003BB´.
Alguém poderia me dar uma dica de como fazer para mostrar este valor total. A medida que o usuário for incluindo os itens este valor sofrerá alteração.
Atenciosamente,
Rodolfo
Estou precisando somar uma coluna de um dbgrid. Pesquisei e encontrei em parte a solução, foi num tópico que dizia para criar um campo agregado.
Até aí tudo bem, porém agora preciso mostrar esta soma no formulário´
Não estou conseguindo fazer este passo.
Como está o meu sistema.
Tenho um DataModulo que tem todos os componentes SQLDS + DSP + CDS + DS que preciso.
No evento AfterPost do cds_ItemPedido estou colocando a seguinte instrução:
-formCadastroPedido.lbl_VlrCompra.Caption := cds_ItemPedidoVALORTOTAL.AsVariant;
Coloquei na clausula uses a referencia para este form.
Só que quando executo o sistema dá este erro.
´Access violation at address 004EA057 in module <meu modulo>. Read of address 000003BB´.
Alguém poderia me dar uma dica de como fazer para mostrar este valor total. A medida que o usuário for incluindo os itens este valor sofrerá alteração.
Atenciosamente,
Rodolfo
Rodolfo.pirolo
Curtidas 0
Respostas
Rm
21/04/2006
Não sei se entendi...se não resolver avise ok?
Se quero somar um campo float ou integer e mostrá-lo coloco no afterpost
var
total:real//para campo float
begin
Table.first;
total:=0;
while not table.eof do begin
total:=total+tablecampoasomar.value;
table.next;
end;//até aqui somou
//para mostrar em um edit
edit1.text:=formatfloat(´#,,0.0000´,total);//quantos zeros quiser
total;=0;//zera variavel
Table.first;//ou last ou se quizer crie antes um bookmark para voltar ao registro alterado.
Era isto??
Se quero somar um campo float ou integer e mostrá-lo coloco no afterpost
var
total:real//para campo float
begin
Table.first;
total:=0;
while not table.eof do begin
total:=total+tablecampoasomar.value;
table.next;
end;//até aqui somou
//para mostrar em um edit
edit1.text:=formatfloat(´#,,0.0000´,total);//quantos zeros quiser
total;=0;//zera variavel
Table.first;//ou last ou se quizer crie antes um bookmark para voltar ao registro alterado.
Era isto??
GOSTEI 0
Rodolfo.pirolo
21/04/2006
RM,
Não é bem isto que estou precisando.
É uma tela de pedidos, a medida que o usuário for digitando os itens, o sistema atualizará o total automaticamente, por exemplo:
Antes do primeiro registro o valor total é zero, pois não tenho nada digitado ainda.
Após o primeiro registro, digamos que o total de R$ 10,00, o valor total será igual a 10,00.
Assim sucessivamente até terminar todo o pedido.
Só não estou conseguindo mostrar este total na tela.
Obrigado,
Rodolfo
Não é bem isto que estou precisando.
É uma tela de pedidos, a medida que o usuário for digitando os itens, o sistema atualizará o total automaticamente, por exemplo:
Antes do primeiro registro o valor total é zero, pois não tenho nada digitado ainda.
Após o primeiro registro, digamos que o total de R$ 10,00, o valor total será igual a 10,00.
Assim sucessivamente até terminar todo o pedido.
Só não estou conseguindo mostrar este total na tela.
Obrigado,
Rodolfo
GOSTEI 0
Rodolfo.pirolo
21/04/2006
Pessoal,
Já descobri, é só usar o componente tdbedit.
Obrigrado pela ajuda.
Rodolfo
Já descobri, é só usar o componente tdbedit.
Obrigrado pela ajuda.
Rodolfo
GOSTEI 0
Lucianof
21/04/2006
Alguém poderia me ajudar nessa: tem que ser passo a passo :roll:
Tenho um DBGRID que tem os seguintes campos:
NF
ENTREGA
RECUSA
RETORNO
EFICIÊNCIA
DPE
Presiso que no campo EFICIÊNCA apareça o resultado do seguinte calculo:
ENTREGA + RECUSA - RETORNO (Exibe o saldo de entregas realizadas)
e o DPE apareacerá a NF*EFICIÊNCIA/100, ou seja o percentual de entregas válidas.
Para terminar gostaria de exibir em um edit forma do DBGrid a média final de todas as linhas.
Tenho um DBGRID que tem os seguintes campos:
NF
ENTREGA
RECUSA
RETORNO
EFICIÊNCIA
DPE
Presiso que no campo EFICIÊNCA apareça o resultado do seguinte calculo:
ENTREGA + RECUSA - RETORNO (Exibe o saldo de entregas realizadas)
e o DPE apareacerá a NF*EFICIÊNCIA/100, ou seja o percentual de entregas válidas.
Para terminar gostaria de exibir em um edit forma do DBGrid a média final de todas as linhas.
GOSTEI 0