busca aproximada
Bom,preciso fazer uma busca aproximada igual a do VIEM FORM do Delphi 7, a cada letra q a pessoa
vai digitando vai aproximando do nome no meu grid. Ate ai eu sei fazer usando o Locate eu consigo. Mas por exemplo o nome WILLIAN q eu quero busca no meu banco, mas tem um nome WAGNER antes(POR ORDEM ALFABETICA) ai eu digitei a letra W ai o foco vai para o WAGNER, mas c eu digitar por exemplo a letra B em seguida o foca teria q ser tirado do meu grip e quando eu desce entre pra entrar nesse nome n aconteceria nada pois WB naum existe no banco. eu uso firebird 2.0.
DESDE JA AGRADEÇO
Wagner
Curtidas 0
Respostas
Marcelo Diniz
28/10/2010
Bom,preciso fazer uma busca aproximada igual a do VIEM FORM do Delphi 7, a cada letra q a pessoa
vai digitando vai aproximando do nome no meu grid. Ate ai eu sei fazer usando o Locate eu consigo. Mas por exemplo o nome WILLIAN q eu quero busca no meu banco, mas tem um nome WAGNER antes(POR ORDEM ALFABETICA) ai eu digitei a letra W ai o foco vai para o WAGNER, mas c eu digitar por exemplo a letra B em seguida o foca teria q ser tirado do meu grip e quando eu desce entre pra entrar nesse nome n aconteceria nada pois WB naum existe no banco. eu uso firebird 2.0.
DESDE JA AGRADEÇO
vai digitando vai aproximando do nome no meu grid. Ate ai eu sei fazer usando o Locate eu consigo. Mas por exemplo o nome WILLIAN q eu quero busca no meu banco, mas tem um nome WAGNER antes(POR ORDEM ALFABETICA) ai eu digitei a letra W ai o foco vai para o WAGNER, mas c eu digitar por exemplo a letra B em seguida o foca teria q ser tirado do meu grip e quando eu desce entre pra entrar nesse nome n aconteceria nada pois WB naum existe no banco. eu uso firebird 2.0.
DESDE JA AGRADEÇO
Neste caso acho que teria que trazer apenas os registros que precisa.
procedure TForm1.edt1Change(Sender: TObject);begin LocalizarRegistros(edt1.Text);end;
procedure TForm1.LocalizarRegistros(registro: string);begin with qry1 do begin Close; SQL.Clear; SQL.Add('select * from clientes where nome like'); SQL.Add(QuotedStr('%' + edt1.Text + '%')); Open; end;end;
end.
GOSTEI 0
Wagner
28/10/2010
muito obrigado me ajudo bastante
GOSTEI 0