MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Compartilhe
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Ter 21 Out 2014, 13:36

    Bom dia a todos do forum!
    Estou com o seguinte problema:

    Em meu projeto tenho um formulário de pesquisa com um campo de texto e uma listbox com os valores da tabela e utilizei o exemplo do Gilberlanio para que filtrasse na list box os nomes conforme vou digitando na caixa de texto, porém ao digitar o teclado numerico fica ativando e desativando a função Num Lock.

    Abaixo como estão os comandos:
    [Você precisa estar registrado e conectado para ver esta imagem.]


    Aqui como está a condição para a listbox:
    [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3463
    Registrado : 04/04/2010

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  Avelino Sampaio em Ter 21 Out 2014, 14:08

    Olá!

    A causa disso é o uso do sendkyes do Access. Utilize o sendkeys do Windows Scripting confome minha questão 10

    [Você precisa estar registrado e conectado para ver este link.]

    Sucesso!
    avatar
    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 282
    Registrado : 28/06/2010

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  Marco Messa em Ter 21 Out 2014, 14:12

    Isso ocorre se você executa a aplicação em outro computador?
    Refresque a minha memória, mas qual a função da tecla F2 dentro de uma caixa de texto?

    Talvez exista uma maneira melhor de se fazer isso sem o uso de sendkeys.


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Ter 21 Out 2014, 16:11

    Deu certo Avelino, porém quando digito "ja" ou "ha" no campo de texto da busca automaticamente entra "já" ou "há" deste modo com acento não filtram os nomes com Ja ou Ha (janete, jaime, hamilton, etc) e não mostra nada na listbox.
    Como posso acertar isso para não colocar o acento?
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Ter 21 Out 2014, 16:14

    Marco Massa, a função do F2 é para que eu possa continuar a digitar dentro do campo, pois sem isso permite que eu coloque apenas uma letra.
    Pode existir outra maneira com certeza, mas a que aprendi foi assim e a que deu certo. Mas sempre é bem-vindo uma maneira melhor e mais fácil! Very Happy
    avatar
    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 282
    Registrado : 28/06/2010

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  Marco Messa em Ter 21 Out 2014, 16:23

    Repito, o que supostamente a tecla F2 deveria fazer quando o foco está na caixa de texto?
    A melhor solução seria usar algum recurso melhor que é disponibilizado pelo próprio Access ao invés de enviar uma tecla.

    Deduzindo que o F2 deveria atualizar os valores da lista use isso:

    Código:
    lst_socios.Requery

    Caso seja para executar o evento dropdown:

    Código:
    lst_socios.Dropdown


    Última edição por Marco Messa em Ter 21 Out 2014, 16:29, editado 1 vez(es)


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Ter 21 Out 2014, 16:26

    Avelino, sobre o erro com acento automático eu contornei desabilitando nas opções do access a correção automática onde substitui o que é digitado, mas será que existe uma maneira de contornar isso sem ter de desabilitar essa propriedade?
    avatar
    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 282
    Registrado : 28/06/2010

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  Marco Messa em Ter 21 Out 2014, 16:29

    Beleza, então só pra eu entender melhor, conforme você vai digitando na caixa de texto txt_busca os dados da lista lst_socios são atualizados?

    Tente substituir as linhas:

    Código:

    Me.Recalc
    SendKeys "{F2}"

    Por:

    Código:
    lst_socios.Requery


    Última edição por Marco Messa em Ter 21 Out 2014, 16:48, editado 1 vez(es)


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Ter 21 Out 2014, 16:32

    Marco, coloquei seu comando no evento ao alterar do campo de texto, porém não filtrou!
    avatar
    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 282
    Registrado : 28/06/2010

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  Marco Messa em Ter 21 Out 2014, 16:46

    Então precisa ver como está o RecordSource desse controle, pois o método que executa essa ação é o Requery.

    Referência:

    [Você precisa estar registrado e conectado para ver este link.]

    De qualquer maneira, se o F2 é para voltar o foco para o campo em que você estava digitando, tente definir o foco nele novamente com o método SetFocus:

    [Você precisa estar registrado e conectado para ver este link.]

    Então no lugar de:

    Código:
    SendKeys "{F2}"

    Ficaria:

    Código:
    txt_busca.SetFocus


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Qui 23 Out 2014, 15:57

    Obrigado Avelino Sampaio e Marco Massa pela ajuda!
    Resolvi meu problema com a dica do Avelino, porém a dica do Marco também funcionou, mas optei pelo do Avelino porque usarei em outros procedimentos com teclas.

    Obrigado cheers
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 5123
    Registrado : 15/03/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  ahteixeira em Sex 24 Out 2014, 11:35

    Olá a todos.
    Apenas para marcar este tópico.
    Abraço

    muco_jcs
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 12/01/2016

    Simplificando...

    Mensagem  muco_jcs em Qua 03 Ago 2016, 15:11

    Very Happy  Olá pessoal, agradeço toda a ajuda do grupo que resolveu meu problema. Nesse espírito de colaboração vou colocar aqui uma forma que gostaria de achar (como a solução desse problema):

    Evil or Very Mad  No lugar de colocar o comando...
    Código:

    SendKeys "{F2}"

    Arrow  Escreva o seguinte comando...
    Código:

    Dim ws As Object
    Set ws = CreateObject("WScript.shell")
    ws.SendKeys "{f2}"

    cheers  Com isso ao digitar o NumLock para de ficar desligando.

    njssantos
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 26/08/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  njssantos em Seg 12 Dez 2016, 20:23

    Resolvi simplesmente adicionando este código:
    Option Compare Database
    Dim varespaco
    -----------------------------------------------------
    Private Sub XXXX_Change()           'onde XXXX, é o nome da sua ComboBox
    If varespaco = 1 Then
      varespaco = 0
       Else
            Me.Recalc
            SendKeys "{F2}"
            SendKeys "{NUMLOCK}", True
            SendKeys "{NUMLOCK}", True
           
       End If
     End Sub
    avatar
    fsouza32
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 105
    Registrado : 22/01/2013

    Re: [Resolvido]Form com pesquisa em listbox desativa Num Lock ao digitar

    Mensagem  fsouza32 em Qui 15 Dez 2016, 10:12

    Obrigado njssantos, vou testar. cheers

    APONTES19
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 18/01/2017

    ESSA FUNCIONOU BEM

    Mensagem  APONTES19 em Sab 05 Maio 2018, 21:36

    Só para facilitar o pessoal ai !

    Testei a solução abaixo deixada por "muco_jcs" e funcionou de primeira !






    Very Happy  Olá pessoal, agradeço toda a ajuda do grupo que resolveu meu problema. Nesse espírito de colaboração vou colocar aqui uma forma que gostaria de achar (como a solução desse problema):

    Evil or Very Mad  No lugar de colocar o comando...

    CÓDIGO:

    SendKeys "{F2}"


    Arrow  Escreva o seguinte comando...
    CÓDIGO:

    Dim ws As Object
    Set ws = CreateObject("WScript.shell")
    ws.SendKeys "{f2}"


    cheers  Com isso ao digitar o NumLock para de ficar desligando.

      Data/hora atual: Sex 25 Maio 2018, 04:31