Fórum Somar dados agrupados no QReport #267856
09/02/2005
0
tenho 3 tabelas
caminhao
fretes
descontos do frete
usei 2 Qrgroup e um Qrdetail
1º QRGoup
mostra a placa e nome do motorista
2º QRGroup
mostra todos o frete com o valor
QRDetail
mostra os descontos do frete
o relatório fica + ou - assim
QRGroup1 -> PLACA : KDZ-5429 MOTORISTA :MARCUS
QRGroup2 -> FRETE PAGO Valor do frete: 220,00
QRDetail -> requisição nº 5555 20,00
QRDetail -> vale 50,00
QRGroup2 -> FRETE PENDENTE Valor do frete: 400,00
QRdetail -> requisição nº 1231 30,00
QRDetail -> requisição nº 4561 65,00
QRGroup2 -> FRETE PAGO Valor do frete: 280,00
QRDetail -> requisição nº 5555 30,00
QRDetail -> vale 90,00
Gostaria de mostrar no final do relatório a soma de todos os fretes
com situação = FRETE PENDENTE
obs: tentei usar o QREXp mas se existe tem 2 item na banda detail de cada frete o valor do frete é somado 2 vezes
espero que tenha sido claro
desde ja agradeço............
Delphi 7.0 e firebird..
Marcusbraga
Curtir tópico
+ 0Posts
09/02/2005
Aroldo Zanela
Vejo várias formas de resolver o problema, a mais simples, ao meu ver é :
- Declare uma variável global de tipo currency;
- No manipulador de evento AfterPrint do objeto utilizado para imprimir a mensagem com status do frete, coloque algo como:
if Value = ´FRETE PENDENTE" then VarGlobal := VarGlobal + qSuaQueryCOLUNA_FRETE.Value;
Pode utilizar uma banda de sumário com um QRLabel para formatar a exibição do total ou outra forma que julgar mais simples.
Gostei + 0
09/02/2005
Marcusbraga
só mais uma pergunta
o meu select ta assim
Select * from FRETE, DESCONTOFRETE WHERE FRETE.ID = DESCONTOFRETE.IDFRETE order by id, idfrete
só que se existe algum frete que não tem nenhum desconto o frete não aparece não aparece no meu relatório
como posso resolver isso
para aparecer todos os fretes mesmo que não exista nenhum desconto nele
mais uma vez obrigado
Gostei + 0
09/02/2005
Gandalf.nho
Select * from FRETE left join DESCONTOFRETE on FRETE.ID = DESCONTOFRETE.IDFRETE order by id, idfrete
Assim vai mostrar mesmo os que não tem desconto
Gostei + 0
09/02/2005
Aroldo Zanela
Use Left Outer Join (Left Join) ou equivalente ANSI para associar a tabela da esquerda, mesmo que ela não tenha registros correspondentes à associação. Utilize também a função NVL para evitar problemas com nulos.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)