Edit de Consulta

15/12/2003

1

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


Responder

Posts

15/12/2003

Joe Ventrue

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

Sobe


Responder

15/12/2003

Pedro Bugim

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,


Responder

16/12/2003

Joe Ventrue

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


Responder

16/12/2003

Pedro Bugim

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,


Responder

16/12/2003

Joe Ventrue

Kra...naum deu certo...

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

estranho isso né?


Responder

17/12/2003

Pedro Bugim

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,


Responder

17/12/2003

Joe Ventrue

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


Responder