USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  ComboBox
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
Postada em 10/01/2007 13:41 hs            
Olá pessoal tudo bem ??
 
Queria uma ajuda fácil de vocês, é o seguinte.
Tenho um combobox (cbofornecedor) e ao carregar omeu formulario eu alimento a listbox dele com todos os fornecedores, blz ?!
O que eu fiz aqui é o seguinte, após dar um enter no texto que o usuário digitou, o sistema faz uma busca no listbox e trás o nome do fornecedor, se ele não achar vai trazer a mensagem junto com um beep, queria saber como que eu posso fazer isso sem ter que digitar o enter para puxar o nome do fornecedor, ou seja, a medida que o usuário for digitando ele ja vai trazendo o nome do fornecedor.
Eu ja coloquei esse código no evento chance, porém ele me trás apenas o fornecedor que começa com a letra digitada e se eu digitar uma outra letra na seqüência ele me trás um outro fornecedor.
Apenas para lembrar que peguei essa dica aqui no site, e adaptei ao que eu queira já que essa dica era para digitar em um text e automaticamente aparecer em um listbox
 
Abraço a todos
 
    If KeyAscii = 13 Then
        If CboFornecedor.Text = "" Then
            MsgBox "Selecione e/ou digite um fornecedor da lista", vbInformation
        Else
            Dim MidIndex As Integer
            Dim MinIndex As Integer
            Dim MaxIndex As Integer
            MinIndex = 0
            MaxIndex = CboFornecedor.ListCount - 1
            S$ = Trim(CboFornecedor.Text)
            While 1
                MidIndex = (MinIndex + MaxIndex) / 2
                If MaxIndex < MinIndex Then
                    Beep
                    MsgBox "Não existe fornecedor cadastrado com esse nome", vbInformation
                    Exit Sub
                End If
                If StrComp(S$, Left$(CboFornecedor.List(MidIndex), Len(S$)), 1) > 0 Then
                    MinIndex = MidIndex + 1
                ElseIf StrComp(S$, Left$(CboFornecedor.List(MidIndex), Len(S$)), 1) < 0 Then
                    MaxIndex = MidIndex - 1
                Else
                    CboFornecedor.ListIndex = MidIndex
                    Exit Sub
                End If
            Wend
      end if
 end if
 
Obrigado a todos !!!
     
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
Postada em 10/01/2007 14:13 hs            
o problema aí é q vc está comparando só a primeira letra...
para cair no fornecedor certo vc tem q ir pegando todas as letras
 
ex:
S$=combo1.text
S=len(S$)
'até aki vc armazenou o q foi digitado e verificou qtos caracteres..
 
agora compara e usa o valor S como qtde de caracteres na comparação...
 
     
Álvaro
Pontos: 2843
GUARULHOS
SP - BRASIL
Postada em 11/01/2007 13:52 hs            
PH1959, obrigado pela dica, eu utilizei um comando que achei no site do macoratti onde se usa API e funcionou também, inclusive eu coloquei até como dica aqui no site, más obrigado pela atenção
Abraço
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página