Filtro parcial de string

Delphi

30/03/2004

Como posso fazer um filtro parcial dentro de uma string de uma table ???
Quero filtrar todos os clientes q tenham a palavra Silva no nome, independente da posição, isso usando table, datasource e grid.

Por exemplo, tenho 5000 clientes, mas só 3 tem a palavra silva no interior de nome.

José da Silva
Carlos Silva e Souza
João Joaquim Silva

gostaria de usar algo como um set filter nome ´contem´ ´Silva´ , ou qualquer coisa q faça com q meu grid mostre só esses 3.

Desde já Obrigado


Marlon Spiess

Marlon Spiess

Curtidas 0

Respostas

Lucas Silva

Lucas Silva

30/03/2004

Com query ai vai a solução.
no sql da query
select nome from clientes where nome like :parametro


na hora de abrir a qry.
with qry do
 begin
   Close;
   Params[0].AsString := ´¬Silva¬´
   Open;
 end;



GOSTEI 0
Marlon Spiess

Marlon Spiess

30/03/2004

Ok, muito obrigado, mas eu quero usar com ttable e não com qry, isso se for possivel.

Valew até agora, mas se alguem me ajudar, ficarei muito feliz.


GOSTEI 0
Lucas Silva

Lucas Silva

30/03/2004

Com table eu acho meio dificel colega...


GOSTEI 0
Gandalf.nho

Gandalf.nho

30/03/2004

Use a propriedade Filter e use asterisco para marcar a parte variável


GOSTEI 0
Marlon Spiess

Marlon Spiess

30/03/2004

Mas deste modo sou obrigado a saber o inicio da string e eu queria buscar apartir de qualquer posição.

Um modo deve existir pra manipular o filtro para isso.

Obrigado mesmo assim


GOSTEI 0
Gandalf.nho

Gandalf.nho

30/03/2004

Bote asterisco no início e fim


GOSTEI 0
Marlon Spiess

Marlon Spiess

30/03/2004

Bom, ou eu estou fazendo errado ou assim não funciona.

Como foi q eu fiz:

table1.filter := ´*es*´;
table1.filtered := true;

Deste modo não retorno nada, mesmo existindo registros com a string ´es´ no meio. (existe um com ´Teste´ e ou com ´Novo teste´)

Se existir um modo, por favor me ajudem


GOSTEI 0
POSTAR