robinhocne Postado Setembro 24, 2008 Denunciar Share Postado Setembro 24, 2008 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 ?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 24, 2008 Denunciar Share Postado Setembro 24, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Setembro 24, 2008 Autor Denunciar Share Postado Setembro 24, 2008 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çoMas tentei assim tbém e deu erro no executável! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Setembro 25, 2008 Denunciar Share Postado Setembro 25, 2008 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 problemaabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Outubro 6, 2008 Autor Denunciar Share Postado Outubro 6, 2008 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 problemaabraçoÉ não consegui mesmo....Vou detalhar mais...>>ErroCriei 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 address006C8DBB 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 ondeestá 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 eupossa colocar no relatório ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 8, 2008 Denunciar Share Postado Outubro 8, 2008 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Outubro 8, 2008 Autor Denunciar Share Postado Outubro 8, 2008 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çoMas 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 postPost#5 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 8, 2008 Denunciar Share Postado Outubro 8, 2008 Project Loja.exe raised exception class EAccessViolatio with message Access violation at address006C8DBB 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 ondeestá 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.exeprocedure 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 arquivoSempre comente as linhas que estão com erro... fica mais facil de achar a soluçãoabraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Outubro 8, 2008 Autor Denunciar Share Postado Outubro 8, 2008 Project Loja.exe raised exception class EAccessViolatio with message Access violation at address006C8DBB 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 ondeestá 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.exeprocedure 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 arquivoSempre comente as linhas que estão com erro... fica mais facil de achar a soluçãoabraçoAi dá o mesmo erro de violação e para na linha de baixo! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jhonas Postado Outubro 11, 2008 Denunciar Share Postado Outubro 11, 2008 Sempre em caso de erros ... use o brakpoint e o debugger do delphi, para tentar achar os erros.abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 robinhocne Postado Outubro 13, 2008 Autor Denunciar Share Postado Outubro 13, 2008 Sempre em caso de erros ... use o brakpoint e o debugger do delphi, para tentar achar os erros.abraçoComo 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.htmlo 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
robinhocne
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
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.