Jump to content
marlonwg

Combobox Com Consulta LIKE

Recommended Posts

marlonwg

Boas pessoal

Quero fazer uma consulta com meu combobox da seguinte forma

Quando o Usuario Consultar no combobox digamos em uma lista de 100 linhas cadastrados nomes de pessoas , la tem um nome assim "Jose Augusto Silva", e "Joao Alfredo Silva" , "Julia Silva"

Quando o Usuario digitar no combobox a palavra "Silva" ele me trazer no LISITENS em aberto o combobox todos os Usuarios com este nome utilizando a consulta LIKE do SQL

mas nao consegui fazer funcionar nem no TEXTCHANGED e nem no KEYUP alguem tem alguma ideia ?


Eu mesmo

Share this post


Link to post
Share on other sites
Gnrtuga

Boas, acho que estás a complicar a coisa.

Para conseguires o que pretendes basta ires às propriedades da ComboBox e escolher a AutoComplete Mode ou Source, de momento não estou a ver qual é o certo, mas é questão de brincares com essas propriedades e veres qual é o resultado que mais se adapta ao que procuras.

Aqui tens mais informação:

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.combobox.autocompletemode?view=netframework-4.7.2#System_Windows_Forms_ComboBox_AutoCompleteMode

https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.combobox.autocompletesource?view=netframework-4.7.2#System_Windows_Forms_ComboBox_AutoCompleteSource

Boa sorte.


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Share this post


Link to post
Share on other sites
marlonwg

Boa tarde Gnrtuga Obrigado pela resposta mas eo o sequinte o que uso no combobox é sim os valores de 

Auto Complete Mode = SuggesteAppend

AutoCompelte Soucer = ListItems

O problema e que ele me traz dinamicamente digamos que eu escreva "JOAO" ele me tras somente os que começam com o nome "Joao" se houver um cadastro assim

"Jose Joao de souza" este nome nao aparece pois o nome JOAO nao esta no começo, Sei que tem como fazer isso com textbox e gridview e com consulta LIKE do sql com %Nome%

EX: Select Nome From Cliente Where Nome LIKE '%Joao%' 

So nao consigo fazer com que o combobox se atulize quando eu pesquizar tudo que tem Joao no nome mas nao somente o inicial Entendeu ?


Eu mesmo

Share this post


Link to post
Share on other sites
marlonwg

Ola entao Gnrtuga isso que voçe me falou sim eu tenho mas como eu disse quero utilizar a consulta LIKE do SQL dentro do COMBOBOX mas nao estou conseguindo

quando eu digitar tipo Portugal aparece tudo que tem portugal no nome EX: Bandeira Portugal, Familia Portutal , Portugal a Programar independente se estiver no começo ou no fim da frase entende ?


Eu mesmo

Share this post


Link to post
Share on other sites
Gnrtuga

Sim marlonwg eu percebi logo o que querias, infelizmente já não tenho o Visual Studio instalado (nem vou instalar) por isso não consigo testar o código.

Em teoria com as propriedades da combobox como falamos em cima deveriam produzir esse efeito.

A consulta que queres fazer, e da maneira como a queres fazer para mim compara-se à seguinte situação:

Estás em casa a almoçar, e só tens 5 minutos para comer a sopa. Cada vez que vais dar uma colherada na sopa tens de dar uma volta completa à mesa, antes de poderes comer.

Vais conseguir comer a sopa? Sim, mas vais ficar cansado, e não me parece que seja a maneira indicada de comer.

Uma consulta SQL de cada vez que clicas numa tecla, parece-me uma loucura, é a tal volta à mesa que era desnecessária… Mas cada um come a sopa à sua maneira...

Assim sendo o que tens que fazer é:

Criar um procedimento com a consulta que queres fazer, independente ao evento da combobox, tipo:

imports System.Data.SqlClient ' não te esqueças de fazer esta importação
  
  private sub consulta_base_dados()
   'código que vai fazer a pesquisa
  end sub

Depois dentro do evento desejado da combobox, por exemplo KeyUp chamas o procedimento da consulta

Sugestão: cria um botão e adiciona o procedimento da consulta ao evento click, que é para poderes testar se a consulta funciona antes de a meteres no evento da combobox, que é para veres se o problema é da consulta ou se é do procedimento ao qual foi associada.

Boa sorte.

 

 


Férias! Estou por aqui: http://maps.google.p...001549&t=h&z=20 (a bulir claro está!)

Nunca mais é verão outra vez.. :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.