GARANTIR DESCONTO

Fórum Dúvida agrupamento com QRGroup #269794

23/02/2005

0

Olá! Procurei no fórum, mas ninguém parece ter tido o mesmo problema que eu. Tenho uma IBQuery cuja SQL possui vários joins e no final ela me retorna os dados da seguinte forma:

GRUPO - PRODUTO - NOTA - QUANT - VALUNIT - TOTAL
-----------------------------------------------------------------
LATICINIOS - IOGURTE - 1059 - 10 - 1,2 - 12,00
PADARIA - PÃO - 854 - 100 - 0,20 - 20,00
etc...

Ou melhor, com uma só consulta eu já misturei os mestres e metalhes. Para o relatório eu sempre usei somente uma query me retornando esses dados. Eu tive que fazer com que o programa imprimisse os dados agrupados pelo grupo do produto. Exemplo abaixo:

//>>INICIO DA PAGINA

LATICINIOS

PRODUTO1 - NOTA - QUANT - VALUNIT - TOTAL
PRODUTO2 - NOTA - QUANT - VALUNIT - TOTAL

CARNES

PRODUTO1 - NOTA - QUANT - VALUNIT - TOTAL
PRODUTO2 - NOTA - QUANT - VALUNIT - TOTAL

//<<FIM DA PÁGINA

Para conseguir agrupar os dados usando somente uma query eu coloquei o QRGroup e coloquei o Expression dele para o campo ´GRUPO´ da query. Coloquei um QRSubDetail. A propriedade DataSet dele fica nula. Na hora de rodar é só abrir a query que tudo funciona. Na verdade eu nem sei porque funciona, afinal eu deixei o DataSet setado como nulo. Se eu colocar o DataSet para a Query os dados não ficam agrupados.
Bem, o importante é que sempre funcionou. O problema é que agora preciso colocar um somatório dos totais de cada grupo. Analisando o demo do QuickReport que vem com o Delphi vi que teria que usar uma band setada como GroupFooter. O problema é que por eu estar usando o SubDetail sem o DataSet setado o GroupFooter (com o QRExpression) não soma. Fica sempre zerado. Se eu setar o DataSet o QRGroup é que passa a não funcionar. Será que não existe uma maneira de fazer isso com apenas uma query? Em todos os tópicos que encontrei aqui no fórum a solução envolvia uma query mestre e outra detalhe. Será que eu vou trer que criar uma segunda Query para funcionar? Alguém já passou por algo parecido?

Até!


Delphi32

Delphi32

Responder

Posts

23/02/2005

Gandalf.nho

Na sua query tem uma cláusula ORDER BY ordenando pelo grupo? Se não, pode estar aí o problema de não agrupar se for setado o dataset do relatório


Responder

Gostei + 0

23/02/2005

Delphi32

Fiz essa e outras modificações na SQL. Na verdade, acabei criando uma query Mestre e outra Detalhe, mas ainda continuei tendo problema. O QRExpression não estava calculando nada. Isso porque apesar de usar duas Querys, eu continuei usando somente o QRGroup e o QRSubDetail. Adicionei no relatório uma band rbDetail com Heigth igual a 1 porque eu não tenho o que mostrar nessa band. Dessa forma passou a funcionar.
Com isso, cheguei a conclusão de que a band Detail é importante no funcionamento de relatórios com QRGroup só que não deixa de ser um mistério a necessidade de adicionar uma band que eu nem mesmo estou usando. Só está ali porque sem ela não funciona... hehehehe...

Valeu ae pela ajuda!!! Até!


Responder

Gostei + 0

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

Aceitar