Relação mestre-detalhe(interessante!)
Eu criei uma relação mestre-detalhe onde a tabela mestre é a tabela de clientes e a detalhe é a tabela onde estão os produtos destes clientes com seus respectivos valor em reais.
Mas eu precisava dar a soma total de quanto deu o pedido do cliente, então eu fiz:
Table1.First;
While Not Table1.Eof do
Begin
variavel:= variavel + table1.fields[0].value;
Table1.Next;
End;
Acontece que este método que sempre funcionou, agora estava dando resultados que nada tinha a ver.Por exemplo: na coluna entitulada preço haviam dois produtos de R$ 5,00 e soma deveria ser 10, mas dava um valor muito maior, da ordem dos milhares.O interessante é que este valor é sempre o mesmo para 5+5 ou o mesmo para 8+3, como se estivesse precisando de algum tipo de formatação!Já era de se esperar algo estranho, afinal os itens de pedido de todos os clientes estão na mesma tabela, mas são separados devido a relação mestre-detalhe... :?:
Mas eu precisava dar a soma total de quanto deu o pedido do cliente, então eu fiz:
Table1.First;
While Not Table1.Eof do
Begin
variavel:= variavel + table1.fields[0].value;
Table1.Next;
End;
Acontece que este método que sempre funcionou, agora estava dando resultados que nada tinha a ver.Por exemplo: na coluna entitulada preço haviam dois produtos de R$ 5,00 e soma deveria ser 10, mas dava um valor muito maior, da ordem dos milhares.O interessante é que este valor é sempre o mesmo para 5+5 ou o mesmo para 8+3, como se estivesse precisando de algum tipo de formatação!Já era de se esperar algo estranho, afinal os itens de pedido de todos os clientes estão na mesma tabela, mas são separados devido a relação mestre-detalhe... :?:
Coelhopirado
Curtidas 0
Respostas
Coelhopirado
22/11/2003
Galera vcs entenderam a dúvida?Ô Bacalhau cadê vc pra me dar uma luz meu filho! :wink:
GOSTEI 0
Pirasol
22/11/2003
Utilize um campo do tipo ´fkAggregate´ no ClientDataset.
na expressão coloque ´SUM(nome_do_campo)
ele somará automaticamente os registros para voce.
na expressão coloque ´SUM(nome_do_campo)
ele somará automaticamente os registros para voce.
GOSTEI 0
Edilcimar
22/11/2003
provavelmente vc esqueceu de inicializar a variável antes da função
variável := 0;
variável := 0;
GOSTEI 0