Ir para conteúdo
Fórum Script Brasil
  • 0

Chamando um Relatorio feito no FasReport


robinhocne

Pergunta

estou com uma problema de iniciante mesmo....

Como eu chamo um relatório?

pois salvei o relatorio como 'report1.fr3'

E coloquei ele em um DataModule:

e chamo ele assim:

Código:

procedure TFrmLisRelCaixa.SpeedButton1Click(Sender: TObject);

begin

DtmRelatorios.FrCaixa.LoadFromFile('report1.fr3');

DtmRelatorios.FrCaixa.ShowReport;

end;

mas não dá nada, mesmo testando ele conectado direto com o banco..

pois salvei ele e coloquei em uma pasta no c:

c:\Sistema\Relatorios

o que estou fazendo de errado ??

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Como eu chamo um relatório?

pois salvei o relatorio como 'report1.fr3'

e coloquei em uma pasta no c:

c:\Sistema\Relatorios

Um dos problemas:

DtmRelatorios.FrCaixa.LoadFromFile('report1.fr3');

tente:

DtmRelatorios.FrCaixa.LoadFromFile('c:\Sistema\Relatorios\report1.fr3');

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Como eu chamo um relatório?

pois salvei o relatorio como 'report1.fr3'

e coloquei em uma pasta no c:

c:\Sistema\Relatorios

Um dos problemas:

DtmRelatorios.FrCaixa.LoadFromFile('report1.fr3');

tente:

DtmRelatorios.FrCaixa.LoadFromFile('c:\Sistema\Relatorios\report1.fr3');

abraço

Mas tentei assim tbém e deu erro no executável!

Link para o comentário
Compartilhar em outros sites

  • 0
Mas tentei assim tbém e deu erro no executável!

Robinho.... se voce não postar qual é o erro, quem é que vai advinhar ?

postar o codigo onde acontece o erro também pode ajudar muito na solução do problema

abraço

É não consegui mesmo....

Vou detalhar mais...

>>Erro

Criei um DataModule ( FDtmRelatorios ) pois é onde que vai ficar meus relatórios nesse DataModule tem

QryReceberVencer: IBQuery;

DbReceberVencer: TfrxDBDataset;

FxReceberVencer: TfrxReport;

Fiz o relatório e tentei de varias maneiras e o erro foi o mesmo exeto quando eu salvo o relatório

na pasta do projetcs e ainda com esse nome report1.fr3.

Pois salvei com outro nome na mesma pasta e deu o mesmo erro.

esse é o erro.

Project Loja.exe raised exception class EAccessViolatio with message Access violation at address

006C8DBB in module 'Loja.exe'.

Read of address 00000060'. Proccess Stopped.Use Step or run to Continue.

assim que estou chamando, pois já estou chamando com o nome do relario certo e o caminho da pasta onde

está o relatório.

procedure TFrmRelReceberVencer.SpbExibirClick(Sender: TObject);
begin
  DtmRelatorios.FxReceberVencer.LoadFromFile('c:\IzaLoja\Relatorios\RlReceberVencer.fr3');
  DtmRelatorios.FxReceberVencer.ShowReport;
end;
e quando dá o erro ele para na nessa primeira linha do codigo. >>Duvida > Agora a duvida seria... para que eu possa buscas os dados para o relatório e vizualizar tbém no relatório, primeiro eu fiz uma instrução normal na QryReceberVencer ( direto na query )
with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null');
      open;
   end;
Mas tipo se eu quero fazer um relatório detalhado com filtros.... Tipo essa relatório eu quero filtrar ele por Periodo de Datas e tbém por Clientes....tipo seria assim:
with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null and (Dtpag >=:DtIni) and (DtPag <=:DtFin) and CodCli =:Cod');
      ParamByName('DtIni').AsDateTime := TxtDtIni.Date;
      ParamByName('DtFin').AsDateTime := TxtDtFin.Date;
      ParamByName('Cod').AsString     := TxtCod.Text;
      open;
   end;

e como eu vou passar esse parametros para a ibquery se estou executando dentro dela para mostrar os dados e para que eu

possa colocar no relatório ?

Link para o comentário
Compartilhar em outros sites

  • 0

with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null and (Dtpag >=:DtIni) and (DtPag <=:DtFin) and CodCli =:Cod');
      ParamByName('DtIni').AsDateTime := TxtDtIni.Date;
      ParamByName('DtFin').AsDateTime := TxtDtFin.Date;
      ParamByName('Cod').AsString     := TxtCod.Text;
      open;
   end;
e como eu vou passar esse parametros para a ibquery se estou executando dentro dela para mostrar os dados e para que eu possa colocar no relatório ?
as varaveis TxtDtIni.Date, TxtDtFin.Date e TxtCod.Text; tem que receber os valores antes que esta rotina seja executada. exemplo:
TxtDtIni.Date := DateEdit1.Date;
TxtDtFin.Date := DateEdit2.Date;
TxtCod.Text := 'A01';

with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null and (Dtpag >=:DtIni) and (DtPag <=:DtFin) and CodCli =:Cod');
      ParamByName('DtIni').AsDateTime := TxtDtIni.Date;
      ParamByName('DtFin').AsDateTime := TxtDtFin.Date;
      ParamByName('Cod').AsString     := TxtCod.Text;
      open;
   end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null and (Dtpag >=:DtIni) and (DtPag <=:DtFin) and CodCli =:Cod');
      ParamByName('DtIni').AsDateTime := TxtDtIni.Date;
      ParamByName('DtFin').AsDateTime := TxtDtFin.Date;
      ParamByName('Cod').AsString     := TxtCod.Text;
      open;
   end;
e como eu vou passar esse parametros para a ibquery se estou executando dentro dela para mostrar os dados e para que eu possa colocar no relatório ?
as varaveis TxtDtIni.Date, TxtDtFin.Date e TxtCod.Text; tem que receber os valores antes que esta rotina seja executada. exemplo:
TxtDtIni.Date := DateEdit1.Date;
TxtDtFin.Date := DateEdit2.Date;
TxtCod.Text := 'A01';

with QryReceberVencer do
    begin
      close;
      sql.clear;
      sql.add('Select * From Contas_Recber where DtPag is null and (Dtpag >=:DtIni) and (DtPag <=:DtFin) and CodCli =:Cod');
      ParamByName('DtIni').AsDateTime := TxtDtIni.Date;
      ParamByName('DtFin').AsDateTime := TxtDtFin.Date;
      ParamByName('Cod').AsString     := TxtCod.Text;
      open;
   end;

abraço

Mas primeiro Teria que vero sobre o erro ao abrir o relatório para depois passar por essa etapa:

o erro está especificado no começo do post

Post#5

Link para o comentário
Compartilhar em outros sites

  • 0
Project Loja.exe raised exception class EAccessViolatio with message Access violation at address

006C8DBB in module 'Loja.exe'.

Read of address 00000060'. Proccess Stopped.Use Step or run to Continue.

assim que estou chamando, pois já estou chamando com o nome do relario certo e o caminho da pasta onde

está o relatório.

procedure TFrmRelReceberVencer.SpbExibirClick(Sender: TObject);

begin

DtmRelatorios.FxReceberVencer.LoadFromFile('c:\IzaLoja\Relatorios\RlReceberVencer.fr3');

DtmRelatorios.FxReceberVencer.ShowReport;

end;

e quando dá o erro ele para na nessa primeira linha do codigo.

Erro de violação de endereço no modulo Loja.exe

procedure TFrmRelReceberVencer.SpbExibirClick(Sender: TObject);
begin
 // DtmRelatorios.FxReceberVencer.LoadFromFile('c:\IzaLoja\Relatorios\RlReceberVencer.fr3');         
    DtmRelatorios.FxReceberVencer.ShowReport;
end;

OBS: // deixe como comentario e execute ... se não ocorrer o mesmo erro, saberá que o erro está na maneira de carregar o arquivo

Sempre comente as linhas que estão com erro... fica mais facil de achar a solução

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
Project Loja.exe raised exception class EAccessViolatio with message Access violation at address

006C8DBB in module 'Loja.exe'.

Read of address 00000060'. Proccess Stopped.Use Step or run to Continue.

assim que estou chamando, pois já estou chamando com o nome do relario certo e o caminho da pasta onde

está o relatório.

procedure TFrmRelReceberVencer.SpbExibirClick(Sender: TObject);

begin

DtmRelatorios.FxReceberVencer.LoadFromFile('c:\IzaLoja\Relatorios\RlReceberVencer.fr3');

DtmRelatorios.FxReceberVencer.ShowReport;

end;

e quando dá o erro ele para na nessa primeira linha do codigo.

Erro de violação de endereço no modulo Loja.exe

procedure TFrmRelReceberVencer.SpbExibirClick(Sender: TObject);
begin
 // DtmRelatorios.FxReceberVencer.LoadFromFile('c:\IzaLoja\Relatorios\RlReceberVencer.fr3');         
    DtmRelatorios.FxReceberVencer.ShowReport;
end;

OBS: // deixe como comentario e execute ... se não ocorrer o mesmo erro, saberá que o erro está na maneira de carregar o arquivo

Sempre comente as linhas que estão com erro... fica mais facil de achar a solução

abraço

Ai dá o mesmo erro de violação e para na linha de baixo!

Link para o comentário
Compartilhar em outros sites

  • 0
Sempre em caso de erros ... use o brakpoint e o debugger do delphi, para tentar achar os erros.

abraço

Como estou deixando o relatorio em um datamodule...coloquei o datamodule para iniciar junto com a aplicacao...ai deu certo mais ou menos..

pois agora deu um erro no relatorio !

ele abre mas já aparece o erro e trava tudo.

esse é o erro>

http://www.4shared.com/file/66762965/e5e8dbdd/imagem1.html

o meu relatorio está assim!

http://www.4shared.com/file/66763233/c5150229/imagem3.html

esse é o arquivo do meu relatorio

http://www.4shared.com/file/66763273/a179c...eberVencer.html

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...