Ir para conteúdo
Fórum Script Brasil
  • 0

Automatizar melhor a procura na combox


Flecha

Pergunta

Olá,

Tenho a sub abaixo para efetuar a procura por RG ou inicio do nome.

Na primeira combo Cmbprocurarpor tem a opção RG e NOME.

Na textbox Txtprocurar a pessoa digita o RG ou Inicio do nome.

Pela sub abaixo quando ele abre o form ambas vem em branco e quando ele digita algo na texbox a combo passa automático para RG

Assim vai filtrando e preenche uma listview pela filtragem, tanto para RG como para Nome.

Eu quero que quando ele entrar com número a combo vá automatico para RG e quando ele entrar com letras a combo vá para Nome e quando apagar a textbox a combo fica vazia.

Para evitar da pessoa ficar voltando para clicar na combo para mudar a opção de busca.

Não consegui alterar e peço a ajuda dos amigos.

Private Sub txtProcurar_Change()
   txtFiltro
End Sub
Public Sub txtFiltro()

Dim procurarpor As String


If CmbProcurarPor.ListIndex = -1 Then CmbProcurarPor.ListIndex = 0

If CmbProcurarPor.ListIndex = 0 Then
   procurarpor = "RG"

ElseIf CmbProcurarPor.ListIndex = 1 Then
   procurarpor = "Nome"

End If


verifica_rs

rs.Open "select * from Customer where " & procurarpor & " like '" & TxtProcurar & "%' order by " & "nome", mobjConn

preenche_lista ' dos escolhidos

End Sub

PS.

Gostaria de saber se isso vai funcionar só filtrando para a listview ou também tem como filtrar para o form principal onde estão todos os registros.

Pois estou fazendo um projeto sem a listview e também gostaria de usar esse tipo de busca.

Flecha

Editado por Flecha
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Pessoal,

Consegui contornar da seguinte forma:

Private Sub txtProcurar_KeyPress(KeyAscii As Integer)
Dim procurarpor As String
    If (KeyAscii >= 48 Or KeyAscii <= 57) Then CmbProcurarPor.ListIndex = -1
    If (KeyAscii >= 65 And KeyAscii <= 122) Then CmbProcurarPor.ListIndex = 1
  
End Sub

Se alguém tiver uma ideia melhor ou mais lógica, favor postar que agradeço.

Flecha

Link para o comentário
Compartilhar em outros sites

  • 0

PAra melhorar seu código eu sugiro

utilize key press e crie um if da seguinte maneira

se a primeira letra do txtbox for numero as proximas teclas pressionadas devem ser numeros, e so filtrar utilizando um key Asc = 0, já se for letra ele so aceita letras.

outra opcao e utilizar on change

significa que ao modificar o txt ele executa ai e so verificar se o primeiro caracter e numero ou letra

abs

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...