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

Relatório


Pirambu!

Pergunta

Estou com um problema, ao abrir o Form de cadastro de um determinado funcionário clico no botão de visualizar a ficha do mesmo, quando eu faço a primeira visualização mostra normalmente o funcionário que estar selecionado no meu form, até ai tudo bem, mas quando eu fecho a tela do relatório, e no form eu visualizo outro funcionário estar mostrando o mesmo funcionário anterior, é como as informações ficassem na memória, mas no evento de fechar o form do relatório em ONDestroy-->

action:= cafree;
FormRela := nil;

o meu banco de dados e paradox

para as informações do relatório estou usando uma query que tem como params o matricula do funcionario da TBFuncionario.

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0
para as informações do relatório estou usando uma query que tem como params o matricula do funcionario da TBFuncionario.
Pirambu!, e a TBFuncionario é o DataSource da query que é utilizada no relatório?

Sugestão: você não poderia passar esse código como parâmetro para seu form que contém o relatório e, então, inicializar o parâmetro via código seguido do Open da query e o preview? (ou +/- isso, já que a construção do seu código pode não similar ao que eu costumo utilizar) Assim, você garantiria que a cada chamada ao relatório o posicionamento ocorresse corretamente.

Outra coisa, esse código que você colocou, normalmente vai no evento OnClose e não no OnDestroy.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
parâmetro para seu form que contém o relatório
Micheus, o meu codigo já estar no form do relatório quando ele é criado em
"OnCreate"

ou será de outra forma?

inicializar o parâmetro via código seguido do Open da query e o preview

Eu não entendir direito este comentário, você poderia dá mais detalhes ?

Link para o comentário
Compartilhar em outros sites

  • 0

inicializar o parâmetro via código seguido do Open da query e o preview

Eu não entendir direito este comentário, você poderia dá mais detalhes ?

No form do relatório teria algo deste forma:

procedure FormRelatorio.ShowPreview(CodFuncionario :LongInt);
begin
  QryConsulta.Close;
  QryConsulta.ParamByName('CodFuncionario').AsInteger := CodFuncionario;
  QryConsulta.Open;
  try
    QuickRep1.PrintPreview;
  finally
    QryConsulta.Close;
  end;
end;
e não teria o lance do caFree no OnClose; no seu botão que aciona o relatorio:
FormRelatorio := TFormRelatorio.Create(Self);
  try
    FormRelatorio.ShowPreview(TBFuncionarioCodFuncionalrio.Value));
  finally
    FormRelatorio.Free;
  end;

Editado por Micheus
Corrigida a chamada da previsualização de ShowPreviw para PrintPreview
Link para o comentário
Compartilhar em outros sites

  • 0

Micheus, não encontro esta opção no evento do form "ShowPreview"

procedure FormRelatorio.ShowPreview(CodFuncionario :LongInt);

eu tentei criar um "procedure" mas dá erro na linha da "procedure" ou esteja faltando declarar alguma "Uses" como biblioteca

Editado por Pirambu!
Link para o comentário
Compartilhar em outros sites

  • 0
Micheus, não encontro esta opção no evento do form "ShowPreview"
procedure FormRelatorio.ShowPreview(CodFuncionario :LongInt);
eu tentei criar um "procedure" mas dá erro na linha da "procedure" ou esteja faltando declarar alguma "Uses" como biblioteca
Pirambu!, desculpe, expliquei meio na corrida. É o seguinte, você tem que declarar este procedimento na definição da classe de seu form, na sessão Public.
type
  FormRelatorio = class(TForm)
    ...
  public
    procedure ShowPreview(CodFuncionario :LongInt);
    ...
  end;

e o nome ShowPreview é só uma sugestão, pode ser qualquer coisa - não tem nada a ver com o ShowPreview do QuickReport.

Também é apenas uma idéia, não quer dizer que a forma como você fez inicialmente não devesse funcionar ok?! É que eu acho que desta forma as coisas ficam mais explícitas e com menos chance de erros.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
try

QuickRep1.ShowPreview;

finally

Micheus, não esquenta comigo, mas, deu erro nesse trecho do código, não aparece "ShowPreview"
QuickRep1.ShowPreview;
eu tenho apenas a opção de "Show" nem a de " Preview'' aparece, eu sei que você mensionou o "ShowPreview"
e o nome ShowPreview é só uma sugestão, pode ser qualquer coisa - não tem nada a ver com o ShowPreview do QuickReport.
mas já que estou especificando o "QuickRep1" e adiciono o " . " ele me mostra as opições para aquele objeto e entre as opições não estar o "ShowPreview" . outro problema é que após tentativa eu voutei com o código anterior e agora estar mostrando o forRelatorio de duas forma na forma "Show" e "Quickrep1.Preview" sendo que no botão onde eu aciono o form eu tenho apenas o Seguinte codigo
Application....;
FormRelatorio.quickrep1.preview;

Você tem ideia do problema? :(

Link para o comentário
Compartilhar em outros sites

  • 0
Micheus Ficou show de bola, Funcionou apenas com "Preview".
Pirambu!, que bom que você está ligado.

De novo (ou seria "de velho") eu errei :blink:. PrintPreview tem outra finalidade que não a de mostrar na tela (Preview) ou imprimir diretamente (Print).

Editado por Micheus
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,4k
×
×
  • Criar Novo...