GARANTIR DESCONTO

Fórum QuickReport não traz informações - Delphi 7 #515962

07/04/2015

0

Boa tarde pessoal!

Estou com um problema a alguns dias que está me corroendo os nervos Mad

Estou desenvolvendo um sisteminha em Delphi 7 e Firebird 2.5 (ZeosLib Ult. versão).
Eu tenho uma tabela chamada VENDAS_ITENS onde gravo informações dos produtos, até aí está tudo bem. Mas quando tento CARREGAR essas informações em um relatório, simplesmente não aparece nada Sad
Já liguei a propriedade DataSet do QuickRep1 com a query que contem as informações e o mesmo fiz com o QRDBText1, e a QRBand1 já está com o Type "rbDetail".

O mais estranho é que eu criei um novo projeto pra testar e funcionou! Mesmo banco e mesmas informações. Só não funciona no meu projeto oficial! Não sei o que fazer, cheguei a pensar que o Firebir possui uma limitação de querys ou seilá.

To postando umas imagens pra vcs verem.

[img:descricao=Sistema]http://puu.sh/h4NJl/438c4629c0.png[/img]

[img:descricao=Banco de dados]http://puu.sh/h4NWT/1560026868.png[/img]

Função que chama relatório

QueryVendas_Itens.Active:= False; 
QueryVendas_Itens.Active:= True; 

fNotaVenda.QuickRep1.Preview;


Obrigado desde já.
Mateus Ribeiro

Mateus Ribeiro

Responder

Post mais votado

07/04/2015

Mateus,

Depois de ativar a query e antes de chamar o report, verifique se estão sendo retornados registros nesse ponto do código...

Se estiver, o problema é no report...

Senão, o problema é na query...

Considerando que a grid já está preenchida com os itens que você precisa, para que desativar / ativar novamente a query ?

Teste, também, chamando direto o report.

Marcos P

Marcos P
Responder

Gostei + 1

Mais Posts

07/04/2015

Mateus Ribeiro

Mateus,

Depois de ativar a query e antes de chamar o report, verifique se estão sendo retornados registros nesse ponto do código...

Se estiver, o problema é no report...

Senão, o problema é na query...

Considerando que a grid já está preenchida com os itens que você precisa, para que desativar / ativar novamente a query ?

Teste, também, chamando direto o report.


Boa tarde Marcos P.

Eu testei se as informações estão vindo antes da chamada do relatório e estão vindo normalmente. Eu desativei e ativei a query na tentativa de resolver isso, mesmo não fazendo sentido rs.

Ou seja, a query está correta pq traz as informações normalmente.
E o QuickReport está normal também pq eu criei outro projeto pra testar, usando o mesmo banco e os mesmos componentes e deu certinho. Somente nesse projeto oficial que não dá certo! Não faço ideia do motivo. :(
Responder

Gostei + 0

07/04/2015

Marcos P

Você tem outros relatórios na aplicação ?

Em caso positivo :
>> Eles funcionam ?
>> Consegue colocar essa query em um outro relatório que funcione, apenas para testar ?
>> Consegue por uma outra query que funcione nesse mesmo report ?

Em caso negativo :
>> Crie um relatório fake ( fixo, mesmo ), apenas para verificar a carga do QRP... o QRP está funcionando no seu ambiente ?
>> Você chegou a criar um outro relatório para testar com essa mesma query ?
Responder

Gostei + 1

07/04/2015

Mateus Ribeiro

Você tem outros relatórios na aplicação ?

Em caso positivo :
>> Eles funcionam ?
>> Consegue colocar essa query em um outro relatório que funcione, apenas para testar ?
>> Consegue por uma outra query que funcione nesse mesmo report ?

Em caso negativo :
>> Crie um relatório fake ( fixo, mesmo ), apenas para verificar a carga do QRP... o QRP está funcionando no seu ambiente ?
>> Você chegou a criar um outro relatório para testar com essa mesma query ?


Agora que tu falou eu testei uma coisa que não tinha pensado. No mesmo projeto eu fiz um botão com a mesma função do relatório, porém em um form diferente e deu certo! Cara q diacho kkk o que será que tem NAQUELE FORM que não deixa eu executar tal função?
Pelo jeito tá constatado que é no formulario.

[img:descricao=Nova tentativa]http://puu.sh/h50mk/e3ba5ef000.png[/img]


Ah, e não existe nenhum outro relatório no projeto, eu entrei nessa fase de relatório agora, é a primeira tentativa!
Responder

Gostei + 0

07/04/2015

Marcos P

Provavelmente o form do relatório "oficial" está desativando algo que o QRP precise ou até mesmo falte algum "uses" nele...

Dê uma analisada com calma que você acha o problema !
Responder

Gostei + 1

07/04/2015

Mateus Ribeiro

Provavelmente o form do relatório "oficial" está desativando algo que o QRP precise ou até mesmo falte algum "uses" nele...

Dê uma analisada com calma que você acha o problema !


Problema com a uses não é, já comparei com um form que funciona e está igual. Vou verificar mais profundamente e posto uma resposta!
Responder

Gostei + 0

07/04/2015

Marcos P

Resolveu ?
Responder

Gostei + 1

08/04/2015

Mateus Ribeiro

Resolveu ?


Infelizmente não :(

Vou refazer o formulário, é o jeito! E torcer pra não dar a mesmo problema.

Obrigado amigo!
Responder

Gostei + 0

09/04/2015

Mateus Ribeiro

Resolveu ?


Bom dia!

Amigo eu achei o problema. Mas ainda não sei uma forma eficiente de resolver!

O formulário está sendo criado DINAMICAMENTE

fVendas:= TfVendas.Create(Self);
fVendas.ShowModal;
fVendas.Free;


Se eu chamar o formulário sem o "fVendas:= TfVendas.Create(Self);" o relatório é carregado certinho, porém eu preciso desse comando pra sempre estar DESTRUINDO o formulário quando for fechado.

Alguma ideia?



Obrigado.
Responder

Gostei + 0

09/04/2015

Marcos P

Tenta fazer...

fVendas:= TfVendas.Create(Application);
Responder

Gostei + 1

09/04/2015

Mateus Ribeiro

Tenta fazer...

fVendas:= TfVendas.Create(Application);


Não deu certo, primeiro da um erro, em seguida o QuickReport abre VAZIO :/

[img:descricao=Erro chato]http://arquivo.devmedia.com.br/forum/imagem/421262-20150409-102353.jpg[/img]
Responder

Gostei + 0

09/04/2015

Mateus Ribeiro

Tenta fazer...

fVendas:= TfVendas.Create(Application);


Amigo acho que resolvi a questão... Só não consigo visar se terá impactos negativos o jeito que arrumei.

No botão que chama o formulário está assim:

if not Assigned (fVendas) then // Verifica se o formulário não está criado.
    fVendas:= TfVendas.Create(Self);

  fVendas.ShowModal;
  fVendas.Free;


Abre certinho. Aí no botão que chama o relatório eu fiz:

if not Assigned (fNotaVenda) then
    fNotaVenda:= TfNotaVenda.Create(Application);

  fNotaVenda.QuickRep1.Preview;

  FreeAndNil(fNotaVenda);


Dessa maneira tudo funciona do jeito que eu quero, mas como eu disse, gostaria de saber se existe impactos negativos nesse jeito.


Obrigado!
Responder

Gostei + 0

09/04/2015

Marcos P

Assumindo que "TfVendas" foi declarado como classe do quickreport, tente trocar o "ShowModal" por "Preview"...

fVendas:= TfVendas.Create(Self);
fVendas.Preview;
fVendas.Free;
Responder

Gostei + 1

09/04/2015

Mateus Ribeiro

Assumindo que "TfVendas" foi declarado como classe do quickreport, tente trocar o "ShowModal" por "Preview"...

fVendas:= TfVendas.Create(Self);
fVendas.Preview;
fVendas.Free;


"fVendas" é o formulário de cadastro, o form onde está o QuickReport é o "fNotaVenda".


Acho que posso dar o caso como encerrado!

Muito obrigado Marcos P.


Abraço e tenha um excelente dia!


Att,

Mateus Ferreira Ribeiro.
Responder

Gostei + 0

09/04/2015

Marcos P

Que bom que resolveu...

Bom dia pra você também !
Responder

Gostei + 1

01/10/2016

Sidney Faria

Só por curiosidade, você está criando o fVendas na codificação, por acaso você, em options do projeto, tirou a criação automática do fVendas?
Responder

Gostei + 0

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

Aceitar