Edit de Consulta

Delphi

15/12/2003

Ae galera...to com algum problema que nao consigo filtrar os registros de jeito nenhum...

Tenho uma tabela de Lancamentos Financeiros...em uma tela de consulta tenho um Edit para procurar por um campo de nome Favorecidos...na saida do Edit coloquei:

procedure Tfrm_movimento.BitBtn4Click(Sender: TObject); begin Query1.close; Query1.ParamByName(´VarFavor´).AsString:=Edit3.Text+´¬´; Query1.Prepare; Query1.open; end;


e no Query eu coloquei a seguinte Instrucao:

Select * From ciel_vom Where Favorecido Like :VarFavor


Porque sera q nao consigo filtrar? Quando eu passo do a saida no campo a tabela permanece intacta...

Obs.: O DataBase do Query esta corretamente setado!

Desde ja agradeço a ajuda de vcs...

Um Abraco
Junior


Joe Ventrue

Joe Ventrue

Curtidas 0

Respostas

Joe Ventrue

Joe Ventrue

15/12/2003

Obs.: na primeira citacao acima eu coloquei o procedure como BitBtn4.Click mas na realidade é a saida do Edit3

Sobe


GOSTEI 0
Pedro Bugim

Pedro Bugim

15/12/2003

Não sei se vai ajudar muito, mas quando faço pesquisas, geralmente não uso passagem por parâmetros... Sei que não é o ideal, mas quando se trata de códigos pequenos, acho mais simples.
Caso esteja interessado em tentar, aí vai uma possível saída:

procedure Tfrm_movimento.BitBtn4Click(Sender: TObject);
begin
With Query1 do
begin
Close;
Sql.Clear;
Sql.Add(´Select * from ciel_vom Where favorecido like ´+Quotedstr (edit3.text)+´ + ´¬´)´;
Open;
end;
end;

Espero que dê uma ajuda...
Abraços,


GOSTEI 0
Joe Ventrue

Joe Ventrue

15/12/2003

Ola Pedro...

vc tem razão, é a resposta q eu queria mas ainda tem um pequeno probleminha...quando eu coloquei esse codigo, deu uma msg de ´KeyWord Invalid´...

tipo:

Eu preciso procurar na tabela os registros do favorecido JUNIOR por exemplo, qdo eu coloco no edit e aciono o botao ele da essa msg:

Project Gerente.exe raised excepton class BDEngineError with message ´Invalid use of KeyWord. Token:´JUNIOR´ Line Number: 1´. process stoped. Use Stop or Run to Continue


Acho q é isso...

Abraços
Junior


GOSTEI 0
Pedro Bugim

Pedro Bugim

15/12/2003

Putz... agora vc me pegou...
Realmente não vejo motivo para este erro.
Geralmente quando esses ´erros do além´ acontecem, tento fazer tudo do jeito mais simples possível. É mais trabalhoso e não fica esteticamente bonito o formulário em tempo de projeto, mas de vez em quando funciona.
Tente o seguinte: crie um edit, troque sua propriedade caption para ¬ e mude seu visible=false; (suponhamos que seja o edit1).
Então, no select, coloque o seguinte código:

(´Select * from ciel_vom Where favorecido like ´+Quotedstr(Edit1.text)+´ + ´+Quotedstr (edit3.text)+´ + ´+Quotedstr(Edit1.text)+´´);

Tente desta forma. Funcionando ou não, me responda... fiquei curioso!
Abraços,


GOSTEI 0
Joe Ventrue

Joe Ventrue

15/12/2003

Kra...naum deu certo...

tentei fazer o q vc falou mas naum deu...

estranho isso né?


GOSTEI 0
Pedro Bugim

Pedro Bugim

15/12/2003

Cara, no primeiro exemplo que te mandei tinha um pequeno erro, quase imperceptível...eu escrevi:

Sql.Add(´Select * from ciel_vom Where favorecido like ´+Quotedstr (edit3.text)+´ + ´¬´)´;

mas a última aspa está errada. Ela deve ficar dentro do parênteses!!! se vc copiou exatamente como estava aki, deve ter sido o motivo do erro. Se quiser, tenta mudar este pequeno detalhe! Agora, ficará:

Sql.Add(´Select * from ciel_vom Where favorecido like ´+Quotedstr (edit3.text)+´ + ´¬´´);

Não sei se vai solucionar o problema, mas já é alguma coisa! Hehehehe!
Abraços,


GOSTEI 0
Joe Ventrue

Joe Ventrue

15/12/2003

nao kra...

na verdade eu tinha tirada ja as aspas antes de colocar este codigo...
realmente nao é o motivo do erro...

rapaz...q sera isso... veja minha ultima tentativa:

var favor:string; begin favor:=Edit3.Text; with Query1 do begin SQL.Clear; Close; SQL.Add(´Select * from ciel_vom where favorecido = :nome´); Params.ParamByName(´nome´).AsString := (favor); Prepare; Open; end;


Tentei isto, mas tb nao deu certo...

Agradeço pela paciencia...

Abracos
Junior


GOSTEI 0
POSTAR