GARANTIR DESCONTO

Fórum Somar dados agrupados no QReport #267856

09/02/2005

0

Amigos, como faço para somar os dados agrupados no Q Report

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

Marcusbraga

Responder

Posts

09/02/2005

Aroldo Zanela

Colega,

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.


Responder

Gostei + 0

09/02/2005

Marcusbraga

obrigado aroldo zanela

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


Responder

Gostei + 0

09/02/2005

Gandalf.nho

Faça assim:

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


Responder

Gostei + 0

09/02/2005

Aroldo Zanela

Colega,

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar