MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Formulário fechando

    gabrielpn06
    gabrielpn06
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 180
    Registrado : 17/01/2017

    [Resolvido]Formulário fechando Empty [Resolvido]Formulário fechando

    Mensagem  gabrielpn06 19/4/2017, 12:59

    Bom dia amigos, tenho um pequeno sistema com entrada por meio de login e senha.
    Até aí tudo certo, porém quando ponho a senha errada o formulário exibe a caixa de texto sinalizando que coloquei a senha incorreta e em seguida fecha meu formulário.
    Gostaria que apenas exibisse a caixa de texto e mudasse o foco para a txt senha.
    Podem me ajudar a identificar onde está o erro?
    Segue o código que estou usando.

    Código:

    Dim UserLevel As Integer

    'Compara Login e Senha Digitados com os Cadastrados e permite ou não o Login
    If IsNull(Me.txtUsuario) Then
        MsgBox ("Por favor, insira seu nome de Usuário"), vbInformation, "Usuário Solicitado"
       Me.txtUsuario.SetFocus
      ElseIf IsNull(Me.txtSenha) Then
       MsgBox ("Usuario e/ou Senha Incorretos"), vbInformation, "Senha Solicitada"
        Me.txtSenha.SetFocus
       Else
        If (IsNull(DLookup("[Usuario]", "Usuarios", "[Usuario] ='" & Me.txtUsuario.Value & _
          "'And Senha = '" & Me.txtSenha.Value & "'"))) Then
            MsgBox ("Usuario e/ou Senha Incorretos"), vbInformation, "Senha Solicitada"
            Me.txtSenha.SetFocus
                    
            Else
              UserLevel = DLookup("NivelSegurança", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
              
             Select Case UserLevel
                Case 1 'Admin
                 DoCmd.OpenForm "FrmPrincipal"
                Case 2 'User/Revisor
                 DoCmd.OpenForm "FrmPrincipal"
                Case 3 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 4 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 5 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 6 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 7 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 8 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 9 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 10 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 11 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 12 'User
                 DoCmd.OpenForm "FrmFilaUser"
                Case 13 'User
                 DoCmd.OpenForm "FrmFilaUser"
                        
            End Select
         End If
    End If
    DoCmd.Close acForm, Me.Name
    End Sub
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Formulário fechando Empty Re: [Resolvido]Formulário fechando

    Mensagem  CassioFabre 19/4/2017, 13:14

    Bom dia,

    Substitua seu codigo por isso.

    Dim UserLevel As Integer

    'Compara Login e Senha Digitados com os Cadastrados e permite ou não o Login
    If IsNull(Me.txtUsuario) Then
    MsgBox ("Por favor, insira seu nome de Usuário"), vbInformation, "Usuário Solicitado"
    Me.txtUsuario.SetFocus
    ElseIf IsNull(Me.txtSenha) Then
    MsgBox ("Usuario e/ou Senha Incorretos"), vbInformation, "Senha Solicitada"
    Me.txtSenha.SetFocus
    Else
    If (IsNull(DLookup("[Usuario]", "Usuarios", "[Usuario] ='" & Me.txtUsuario.Value & _
    "'And Senha = '" & Me.txtSenha.Value & "'"))) Then
    MsgBox ("Usuario e/ou Senha Incorretos"), vbInformation, "Senha Solicitada"
    Me.txtSenha.SetFocus

    Else
    UserLevel = DLookup("NivelSegurança", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")

    Select Case UserLevel
    Case 1 'Admin
    DoCmd.OpenForm "FrmPrincipal"
    Case 2 'User/Revisor
    DoCmd.OpenForm "FrmPrincipal"
    Case 3 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 4 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 5 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 6 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 7 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 8 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 9 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 10 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 11 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 12 'User
    DoCmd.OpenForm "FrmFilaUser"
    Case 13 'User
    DoCmd.OpenForm "FrmFilaUser"

    End Select
    DoCmd.Close acForm, Me.Name

    End If
    End If
    End Sub

    O problema todo é que você colocou a instrução DoCmd.Close fora dos IF, ou seja, ele executa tudo e sai do IF, e quando sai encontra o doCmd.Close ali e o aciona. Alterando da forma que fiz, ele só fechará o formulário atual caso passe por todas as verificações.

    Abraço.
    gabrielpn06
    gabrielpn06
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 180
    Registrado : 17/01/2017

    [Resolvido]Formulário fechando Empty Re: [Resolvido]Formulário fechando

    Mensagem  gabrielpn06 19/4/2017, 13:34

    O erro era tão simples e não consegui perceber! Shocked
    Muito Obrigado! Very Happy
    CassioFabre
    CassioFabre
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 731
    Registrado : 18/01/2013

    [Resolvido]Formulário fechando Empty Re: [Resolvido]Formulário fechando

    Mensagem  CassioFabre 19/4/2017, 13:37

    Bom dia,

    O fórum agradece o retorno.

    Abraço.

    Conteúdo patrocinado


    [Resolvido]Formulário fechando Empty Re: [Resolvido]Formulário fechando

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 21:06