Query !!!!
Olá estou com um problema, utilizo para consulta uma query com o filtro no KeyPress do edit da seguinte forma query1.locate..............., só que quando o usuário digita a 1º letra o cursor vai certinho para o grid na letra correspondente mas eu gostaria que quando o usuario digitasse por exemplo a letra P so aparecessem no grid os clientes com a letra p...
Isto é possivel......
desde já agradeço,
Abs.
Oscar Luiz
Isto é possivel......
desde já agradeço,
Abs.
Oscar Luiz
Anonymous
Curtidas 0
Respostas
Anonymous
20/02/2003
Poe seu codigo do Locate aqui que eu te digo.
GOSTEI 0
Anonymous
20/02/2003
Query1.Locate(´campo onde ira porcurar´,´Texto a buscar´,[loPartialKey,loCaseInsensitive]);
GOSTEI 0
Flavio Sanches
20/02/2003
Se vc quiser usar sql direto seria como no exemplo:
No exemplo abaixo, tenho um edit, um dbgrid, uma query e obvio um datasource. Ao digitar no edit, ele apaga e refaz a instrução sql passando como parametro o conteudo do edit e ainda preenche o edit com o valor do primeiro registro do result da query. Tá complicado de explicar mas garanto que dá certo.
===============================================
procedure TFrmCad_Painel.Edt_PatrocinChange(Sender: TObject);
var
OldStart: byte;
begin
Edt_Patrocin.OnChange := nil;
try
oldstart := Edt_Patrocin.SelStart;
with QryAuxiliar do
begin
close;
sql.clear;
sql.add(´select * from patrocinador´);
sql.add(´where Desc_patrocinador like ´´´ + Edt_Patrocin.text + ´¬´´´);
open;
Edt_Patrocin.text := fieldbyname(´desc_patrocinador´).asstring;
Edt_Cod_patrocin.text:= fieldbyname(´cod_patrocinador´).asstring;
end
finally
Edt_Patrocin.SelStart := OldStart;
Edt_Patrocin.SelLength := length(edt_patrocin.text) - oldstart ;
Edt_Patrocin.OnChange := Edt_PatrocinChange;
end;
end;
No exemplo abaixo, tenho um edit, um dbgrid, uma query e obvio um datasource. Ao digitar no edit, ele apaga e refaz a instrução sql passando como parametro o conteudo do edit e ainda preenche o edit com o valor do primeiro registro do result da query. Tá complicado de explicar mas garanto que dá certo.
===============================================
procedure TFrmCad_Painel.Edt_PatrocinChange(Sender: TObject);
var
OldStart: byte;
begin
Edt_Patrocin.OnChange := nil;
try
oldstart := Edt_Patrocin.SelStart;
with QryAuxiliar do
begin
close;
sql.clear;
sql.add(´select * from patrocinador´);
sql.add(´where Desc_patrocinador like ´´´ + Edt_Patrocin.text + ´¬´´´);
open;
Edt_Patrocin.text := fieldbyname(´desc_patrocinador´).asstring;
Edt_Cod_patrocin.text:= fieldbyname(´cod_patrocinador´).asstring;
end
finally
Edt_Patrocin.SelStart := OldStart;
Edt_Patrocin.SelLength := length(edt_patrocin.text) - oldstart ;
Edt_Patrocin.OnChange := Edt_PatrocinChange;
end;
end;
GOSTEI 0
Dor_poa
20/02/2003
respondido. :lol:
GOSTEI 0