Fórum Filtro parcial de string #223380

30/03/2004

0

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

Responder

Posts

30/03/2004

Lucas Silva

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;



Responder

Gostei + 0

30/03/2004

Marlon Spiess

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.


Responder

Gostei + 0

30/03/2004

Lucas Silva

Com table eu acho meio dificel colega...


Responder

Gostei + 0

30/03/2004

Gandalf.nho

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


Responder

Gostei + 0

30/03/2004

Marlon Spiess

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


Responder

Gostei + 0

31/03/2004

Gandalf.nho

Bote asterisco no início e fim


Responder

Gostei + 0

31/03/2004

Marlon Spiess

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar