O que está errado nesta consulta?

Delphi

07/11/2003

fiz a seguinte consulta no OnExit de um edit:
with Dm.Cliente do begin
close;
sql.clear;
sql.add(´select * from cliente where nome like ´+quotedstr(uppercase(edit1.text+´¬´)))
open;
end;
Funciona! Só que qdo eu clico no grid de resultados da consulta, fecha tudo. Se eu clico no Form, para fazer uma ou outra alterção, também some tudo. Durante a consulta vem o resultado da consulta, como deveria vir, porem se eu clico no Grid ou num DBEdit qualquer, some tudo. O mesmo acontece se usar o locate.
Neste programa uso D 6 com Paradox. O que será q tá errado? Para mim nada, porem... E logo em seguida se fizer outra consulta funciona, mas não posso alterar e nem navegar pelo DBGrid.


Paulo

Paulo

Curtidas 0

Respostas

Koplin

Koplin

07/11/2003

Tenta jogar sua consulta no evento OnKeyDown do Edit e faça
If(Edit1.text<>´´)and(key=13) then
with Dm.Cliente do begin
close;
sql.clear;
sql.add(´select * from cliente where nome like ´+quotedstr(uppercase(edit1.text+´¬´)))
open;
end;
end;

Para ver se ocorre o erro parece que está havendo um conflito entre eventos.

Se funcionar, procure por eventos em outros componentes ou form que possam estar interferindo.


GOSTEI 0
POSTAR