MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido] Validar formulário de login ao pressionar a tecla enter

    Compartilhe

    ClaudioTecnico
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 19/02/2014

    [Resolvido] Validar formulário de login ao pressionar a tecla enter

    Mensagem  ClaudioTecnico em Ter 29 Abr 2014, 20:52

    Boa tarde pessoal, tudo bem?

    Tenho um banco de dados onde consegui implementar a funcionalidade mencionada no título do tópico (acessar o sistema na tela de login pressionando a tecla enter), copiando o código do botão de login e colocando no evento "Ao pressionar tecla" deste botão.

    Do jeito que está funciona corretamente, mas acho que o código tem como ser "enxugado", unindo tanto a função de clique do botão quanto a de pressionar a tecla enter para validação do login. Segue abaixo os códigos:

    Código do evento clicar do botão "Login":
    Código:

    Private Sub btnLogin_Click()
      Dim strSenha As String
      If IsNull(cbxLogin) Then
        MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
        cbxLogin.SetFocus
      ElseIf IsNull(txtSenha) Then
        MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
        txtSenha.SetFocus
      Else
        'Realizando a limpeza da senha
        strSenha = limparSenha(txtSenha)
        If verificaLogin(cbxLogin, strSenha) Then
          DoCmd.close
          Call AccessTransparente(250)  'aqui é para a janela de fundo voltar a aparecer...
          DoCmd.OpenForm "FPrincipal"
        Else
          MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
          txtSenha.SetFocus
        End If
       End If
    End Sub

    Código do evento "Ao pressionar tecla" deste mesmo botão:
    Código:

    Private Sub btnLogin_KeyPress(KeyAscii As Integer)
      If KeyAscii = vbKeyReturn Then
        Dim strSenha As String
      If IsNull(cbxLogin) Then
        MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
        cbxLogin.SetFocus
      ElseIf IsNull(txtSenha) Then
        MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
        txtSenha.SetFocus
      Else
        'Realizando a limpeza da senha
        strSenha = limparSenha(txtSenha)
        If verificaLogin(cbxLogin, strSenha) Then
          DoCmd.close
          Call AccessTransparente(250)  'aqui é para a janela de fundo voltar a aparecer...
          DoCmd.OpenForm "FPrincipal"
        Else
          MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
          txtSenha.SetFocus
        End If
       End If
      End If
    End Sub

    Observem que é praticamente o mesmo código, porém são executados de modos diferentes. A desvantagem é o espaço ocupado desnecessariamente na memória, por isso gostaria de otimizar esses códigos.

    Será que algum amigo pode me ajudar a solucionar esse problema?

    Desde já, meu muito obrigado a todos!


    .................................................................................
    *** Versões dos programas***
    Windows 7/8 64 bits
    MS Office 2013 64 bits

    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1327
    Registrado : 17/03/2011

    Re: [Resolvido] Validar formulário de login ao pressionar a tecla enter

    Mensagem  Cláudio Machado em Qua 30 Abr 2014, 20:52

    Olá, tente o seguinte:

    Coloque este código no btnLogin_KeyPress

    Código:


    If KeyCode = vbKeyReturn Then
        Call btnLogin_Click
    End If


    O evento "Visualizar teclas" do form precisa está como "Sim".


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

    ClaudioTecnico
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 24
    Registrado : 19/02/2014

    Re: [Resolvido] Validar formulário de login ao pressionar a tecla enter

    Mensagem  ClaudioTecnico em Qui 01 Maio 2014, 05:18

    Obrigado pela ajuda chará Claudio Machado, seu código funcionou perfeitamente.

    A única coisa que alterei no código é que no lugar de "KeyCode" eu precisei colocar o nome da variável como "KeyAscii", pois é o nome que foi definido pelo próprio Access.

    Abraços, e mais uma vez obrigado!!!


    .................................................................................
    *** Versões dos programas***
    Windows 7/8 64 bits
    MS Office 2013 64 bits

    Cláudio Machado
    VIP
    VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1327
    Registrado : 17/03/2011

    Re: [Resolvido] Validar formulário de login ao pressionar a tecla enter

    Mensagem  Cláudio Machado em Sex 02 Maio 2014, 12:40

    Bom dia.
    Que bom que resolveu!
    O fórum agradece o retorno.
    Saudações  cheers 


    .................................................................................
    " Nunca cruze os braços diante de qualquer problema ou dificuldade, pois o maior homem do mundo Jesus,  morreu de braços abertos."

    Agradeça e feche o tópico clicando no botão Resolvido. Se não sabe como, veja  [Você precisa estar registrado e conectado para ver este link.].
    Não esqueça de clicar no Joinha [Você precisa estar registrado e conectado para ver esta imagem.] para agradecer a dica que solucionou seu problema.

      Data/hora atual: Qui 08 Dez 2016, 00:04