Fórum Ajuda em Relatório Filtrado #154587

13/04/2003

0

Amigos eu Recebi este exemplo abaixo por um amigo do clube delphi, estou usando ele em meu aplicativo, mas me deparei com alguns problemas, Acredito que Alguém possa me ajudar.
Este exemplo eu uso para filtrar um relatório por modelo de veiculo.
Eu tenho um edit de procura no mesmo form em que esta o QuickReport, e Também um botão para dar inicio a pesquisa Um botão tipo com o caption Visualizar .
E neste Botão eu coloquei este exemplo abaixo.

procedure TForm1.BtVisualizaClick(Sender: TObject);
begin
with Dm.TbVeiculos do
begin
Active := true;
Filter := ´modelo = ´ + QuotedStr(Edit1.Text);
Filtered := true;
end;
end;
QuickReport1.Preview;

no evento AfterPreview digite Free;

os problemas são:

o Usuario Cadastra o modelo do veiculo ford por exemplo mas também cadastra ford ka ou ford ka 1.0.
Ai no Relatório quando digita Ford ele só visualiza o que tem o nome ford, o ford ka e o ford ka 1.0 não são visualizados, esta sendo uma busca direta.
por Acaso, Não tem jeito de filtro e buscar somente a primeira palavara ford e mostrar os outros citados acima desconsiderando o restante do modelo exe: ka, 1.0 ?
um outro problema é que quando clica no close do Relatório ele fecha o formulário e desabilita o meu dbnavigator de pesquisa em um form de manutenção e neste form fica visualizado como ultimo registro, o registro que foi mostrado no relatório quando foi feito a pesquisa nele, e não o ultimo registro cadastrado como devia ser.
isto só acontece saindo do formulário do relatorio.

no exemplo pede para digitar free no evento afterPreview.
so que com este evento, quando sai do relatório ele fecha toda a minha aplicação, como corrigir estes erros ?

Amigos , Por Favor se possivel me deëm um Retorno o Mais breve possivel, pois a minha aplicação já esta em uso, estes erros foram relatados pelos usuários,tenho que corrigi-los urgente.
Aguardo Resposta ancioso, um Abraço e Fiquem com Deus.
email vaninho.br@ig.com.br

Obs: meu Delphi é o 5.0 ,minhas tabelas em um DataModule Ok !.

:(


Vaninho

Vaninho

Responder

Posts

14/04/2003

Theofernandes

Amigo, para resolver o problema do resultado da pesquisa, faça assim:

procedure TForm1.BtVisualizaClick(Sender: TObject);
begin

with Dm.TbVeiculos do
begin
Active := true;
Filtered := false;
Filter := ´modelo like ´¬´ + QuotedStr(Edit1.Text) + ´¬´´;
Filtered := true;
end;

QuickReport1.Preview;

end;

*****************

Para resolver o free:

No botão que abre o form da pesquisa...

if FrmPesquisa = nil then
FrmPesquisa:= TFrmPesquisa.Create(self);
FrmPesquisa.ShowModal;
FrmPesquisa.Free;
FrmPesquisa:= nil;

*****************

Pra resolver do dbnavigator, tu terás que utilizar uma outra tabela igual ao TBVeiculos ou então armazenar em uma variável o registro que está sendo focado e então, no AfterPreview, posicionar a tabela no registro armazenado previamente.

Espero ter ajudado.


Responder

Gostei + 0

14/04/2003

Theofernandes

Ah!, quanto ao free, tira ele do afterpreview.


Responder

Gostei + 0

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

Aceitar