Como o Anderson mencionou, um TDBComboBox já ajuda na questão.
No evento OnChage você pode fazer a busca.

Para isso use o método Locate:

Query1.Locate('CAMPO', DBComboBox1.Text, [loPartialKey, loCaseInsensitive]);

Mas como já mencionaram, dependendo da quantidade de registros que estiver
carregando na query, isso pode ficar inviável, sem performance. O ideal, na
minha opinião, é criar um botão para que o usuário clique e faça a pesquisa.

Adriano Santos
Editor Revista ClubeDelphi

2009/7/4 Silvio Clecio <silviop...@yahoo.com.br>

>
>
> Em 4/7/2009 19:22, Anderson escreveu:
>
> > Estou precisando fazer o seguinte: Tenho uma query com o parametro nome
> > e gostaria de ter um combobox mostrasse na lista suspensa todos os nomes
> > dentro dessa query que começassem com o que estivesse dentro do combobox
> > a medida que eu fosse digitando.
> >
> > ex: eu digitei "A" ai o combobox abriria a lista com os nomes com "A" ai
> > quando eu digitasse "n" aparecesse os andersons, andres, angelas..etc...
>
> Esse sistema vai ficar em rede? Se sim, isso pode pesar um pouco o teu
> sistema, o ideal seria você colocar o "a" ou "an" e clicar em um botão
> (ou um Enter), dai a query retorna os registros, ficar chamando por
> changes no controle é "perigoso", a não ser que a tabela onde você vai
> fazer a busca fique com poucos registros.
>
> Capaz de já existir algo assim na web com dbaware, acho que com um
> tdbcombobox você faz essa "proeza".
> --
> []'s, Silvio Clécio
> ---
> Linux User: #481900
> Gmail, GTalk: silviop...@gmail.com <silvioprog%40gmail.com>
> E-mail, Y! Messenger: silviop...@yahoo.com.br <silvioprog%40yahoo.com.br>
> BlogSite: http://silvioprog.blogspot.com/
> BlogSpot: http://silvioclecio.blogspot.com/
> VirtualDriver: http://silvioprog.4shared.com/
> °oO| Seja livre, use Linux! |Oo°
>  
>



-- 
Adriano Santos
Director X-35 Consulting and Development
IT Manager SoftPark
Chief Editor Magazines ClubeDelphi && WebMobile
www.delphitodelphi.blogspot.com
www.adrianosantos.pro.br
www.devmedia.com.br
www.dug-sp.com


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

Responder a