Re: [delphi-br] Filtro no ClientDataSet Usando LIKE

2009-11-09 Por tôpico Luciano Angelini
Veja .

Vc pode usar esse exemplo num edit OnChange .. conforme vc vai digitando ...

FrmDm.CDS_Setores.filter := 'NOME_SET LIKE ' + 
QuotedStr('%'+Edit1.text+'%');
FrmDm.CDS_Setores.Filtered := true;
FrmDm.CDS_Setores.locate('nome_set','edit1.text',[loPartialKey]) ;

** QuotedStr(''+Edit1.text+'%') que comece com a letra
** QuotedStr('%'+Edit1.text+'%') que contenha a letra
** QuotedStr('%'+Edit1.text+''); que termine com a letra


Espero ter ajudado !


Luciano Angelini
PM de Lupionópolis-Pr





Gilvan Costa escreveu:

 Olá Srs
 Estou querendo montar um filtro com ClietDataSet de forma que ele me traga
 os registro de todos que começa com a letra A por exemplo .
 Tipo o que eu faço com no SQL:
 CDSPesquisa.Params.ParamByName('Pesquisa').Value := '%'+ Pesquisa +'%';
 O objetivo é claro, uma vez que eu já tenho os dados no grid, gostaria de
 fazer diversos filtros e não mais precisar
 ir no banco de dados e fazer uma nova consulta.

 Tentei montar o filtro usando LIKE mais não deu certo:
 CDSPesquisa.Filtered := False;
 CDSPesquisa.Filter := 'Meu Campo Like '+ QuotedStr('%' + BtePesquisar
 Text + '%' );
 CDSPesquisa.Filtered := True;

 Assim deu certo, mas só funcionar para um valor completo
 CDSPesquisa.Filter := 'Meu Campo = ' + QuotedStr(BtePesquisar.Text);

 [As partes desta mensagem que não continham texto foram removidas]

 


 

 avast! Antivirus http://www.avast.com: Inbound message clean.

 Virus Database (VPS): 091108-1, 08/11/2009
 Tested on: 11/9/ 09:18:35
 avast! - copyright (c) 1988-2009 ALWIL Software.





---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 091108-1, 08/11/2009
Tested on: 11/9/ 09:35:08
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com







-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Filtro no ClientDataSet Usando LIKE - RESOLVIDO

2009-11-09 Por tôpico Gilvan Costa
   
Testei o código abaixo no delphi 2010 e funcionou, como meu projeto ainda é
apenas um protótipo, vou seguir no delphi 2010 mesmo

CDSPesquisa.Filtered := False;
CDSPesquisa.Filter:= 'NOME_NO_SISTEMA LIKE ' + QuotedS('%
+BtePesquisar.Text+'%');
CDSPesquisa.Filtered := True;

Usando: FilterOptions := [foCaseInsensitive]

Nota: Eu estava testando no delphi 2009, não sei a causa de não ter
funcionado, deve ser algum detalhe que me escapou :-)

Valeu, vamos em frente

---Original Message---
 
From: Luciano Angelini
Date: 11/09/09 09:35:24
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Filtro no ClientDataSet Usando LIKE
 
Veja .
 
Vc pode usar esse exemplo num edit OnChange .. conforme vc vai digitando ...
 
FrmDm.CDS_Setores.filter := 'NOME_SET LIKE ' +
QuotedStr('%'+Edit1.text+'%');
FrmDm.CDS_Setores.Filtered := true;
FrmDm.CDS_Setores.locate('nome_set','edit1.text',[loPartialKey]) ;
 
** QuotedStr(''+Edit1.text+'%') que comece com a letra
** QuotedStr('%'+Edit1.text+'%') que contenha a letra
** QuotedStr('%'+Edit1.text+''); que termine com a letra
 
 
Espero ter ajudado !
 
 
Luciano Angelini
PM de Lupionópolis-Pr
 
 
 
 
 
Gilvan Costa escreveu:

 Olá Srs
 Estou querendo montar um filtro com ClietDataSet de forma que ele me traga
 os registro de todos que começa com a letra A por exemplo .
 Tipo o que eu faço com no SQL:
 CDSPesquisa.Params.ParamByName('Pesquisa').Value := '%'+ Pesquisa +'%';
 O objetivo é claro, uma vez que eu já tenho os dados no grid, gostaria de
 fazer diversos filtros e não mais precisar
 ir no banco de dados e fazer uma nova consulta.

 Tentei montar o filtro usando LIKE mais não deu certo:
 CDSPesquisa.Filtered := False;
 CDSPesquisa.Filter := 'Meu Campo Like '+ QuotedStr('%' + BtePesquisar
 Text + '%' );
 CDSPesquisa.Filtered := True;

 Assim deu certo, mas só funcionar para um valor completo
 CDSPesquisa.Filter := 'Meu Campo = ' + QuotedStr(BtePesquisar.Text);

 [As partes desta mensagem que não continham texto foram removidas]




 

 avast! Antivirus http://www.avast.com: Inbound message clean.

 Virus Database (VPS): 091108-1, 08/11/2009
 Tested on: 11/9/ 09:18:35
 avast! - copyright (c) 1988-2009 ALWIL Software.


 
 
 
---
avast! Antivirus: Outbound message clean.
Virus Database (VPS): 091108-1, 08/11/2009
Tested on: 11/9/ 09:35:08
avast! - copyright (c) 1988-2009 ALWIL Software.
http://www.avast.com
 
 
 
 
 

 
--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
 
 
 

[As partes desta mensagem que não continham texto foram removidas]



Re: [delphi-br] Filtro no ClientDataSet Usando LIKE

2009-11-08 Por tôpico Marcos Bernardo
Olá Gilvan,

Não sei se voce testou, mas tem uma outra forma de
comparar partes de string segundo o help

   *
 State = 'M*'
 Wildcard for partial comparisons

Talvez assim funcione, este é meu palpite hehehe :D

abraço

Marcos Bernardo


2009/11/7 Gilvan Costa info...@yahoo.com.br



 Olá Srs
 Estou querendo montar um filtro com ClietDataSet de forma que ele me traga
 os registro de todos que começa com a letra A por exemplo .
 Tipo o que eu faço com no SQL:
 CDSPesquisa.Params.ParamByName('Pesquisa').Value := '%'+ Pesquisa +'%';
 O objetivo é claro, uma vez que eu já tenho os dados no grid, gostaria de
 fazer diversos filtros e não mais precisar
 ir no banco de dados e fazer uma nova consulta.

 Tentei montar o filtro usando LIKE mais não deu certo:
 CDSPesquisa.Filtered := False;
 CDSPesquisa.Filter := 'Meu Campo Like '+ QuotedStr('%' + BtePesquisar
 Text + '%' );
 CDSPesquisa.Filtered := True;

 Assim deu certo, mas só funcionar para um valor completo
 CDSPesquisa.Filter := 'Meu Campo = ' + QuotedStr(BtePesquisar.Text);

 [As partes desta mensagem que não continham texto foram removidas]

 




-- 
Marcos A. de A. Bernardo
xmarcos@gmail.com
11 - 9462-2657 / 11- 3205-1499
http://bagusconsultoria.wordpress.com/


[As partes desta mensagem que não continham texto foram removidas]





-- 
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 

* Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages

* Para falar com o moderador, envie um e-mail para:
delphi-br-ow...@yahoogrupos.com.br
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/

* Para sair deste grupo, envie um e-mail para:
delphi-br-unsubscr...@yahoogrupos.com.br

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




Re: [delphi-br] Filtro no ClientDataSet Usando LIKE

2009-11-08 Por tôpico Gilvan Costa
Marcos, 
 Realmente desta forma funciona, porém, eu preciso de algo a mas, e não fica
limitado fazendo o filtro e tendo que informar o valor inicial do campo,
 Eu preciso que o retorno do FILTRO seja qualquer  informação parcial do
campo, tipo o que nós usamos nas consultas SQL:
 
 Where Campo LIke ‘ %valor do campo% ‘
 
Nota: o tipo do campo é varchar(200)
 
Já pesquisei na net e vi vários exemplos de uso do LIKE nos filtros usando
clietdataset, mas acho que não funciona no Delphi 2009 e o que é pior ele
não reconhecer o % como caracter coringa.
 
Por isso preciso elucidar essa questão para construir o modelo de pesquisa
do Dbgrid.



---Original Message---
 
From: Marcos Bernardo
Date: 08/11/2009 14:17:27
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Filtro no ClientDataSet Usando LIKE
 
Olá Gilvan,
 
Não sei se voce testou, mas tem uma outra forma de
comparar partes de string segundo o help
 
   *
  State = 'M*'
  Wildcard for partial comparisons
 
Talvez assim funcione, este é meu palpite hehehe :D
 
abraço
 
Marcos Bernardo
 
 
2009/11/7 Gilvan Costa info...@yahoo.com.br
 


 Olá Srs
 Estou querendo montar um filtro com ClietDataSet de forma que ele me traga
 os registro de todos que começa com a letra A por exemplo .
 Tipo o que eu faço com no SQL:
 CDSPesquisa.Params.ParamByName('Pesquisa').Value := '%'+ Pesquisa +'%';
 O objetivo é claro, uma vez que eu já tenho os dados no grid, gostaria de
 fazer diversos filtros e não mais precisar
 ir no banco de dados e fazer uma nova consulta.

 Tentei montar o filtro usando LIKE mais não deu certo:
 CDSPesquisa.Filtered := False;
 CDSPesquisa.Filter := 'Meu Campo Like '+ QuotedStr('%' + BtePesquisar
 Text + '%' );
 CDSPesquisa.Filtered := True;

 Assim deu certo, mas só funcionar para um valor completo
 CDSPesquisa.Filter := 'Meu Campo = ' + QuotedStr(BtePesquisar.Text);

 [As partes desta mensagem que não continham texto foram removidas]



 
 
 
--
Marcos A. de A. Bernardo
xmarcos@gmail.com
11 - 9462-2657 / 11- 3205-1499
http://bagusconsultoria.wordpress.com/
 
 
[As partes desta mensagem que não continham texto foram removidas]
 
 
 

 
--
 FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM 
 
 
 

[As partes desta mensagem que não continham texto foram removidas]