Bom dia,
Em primeiro lugar os meus agradecimentos pelas contribuições dadas.
1. Experimentei o código enviado e efectivamente se deixar em branco os campos aparece a msg para preencher - Ok!
2. Se o username e/ou password estiverem incorrectos aparece a msg a informar que está/estão incorectos - Ok!
3. Se introduzir as informações correctas aparece: MsgBox ("Login da Aplicação Tuberculosis OK! " & varNomeUtilizadorLog & "."), vbInformation + vbOKOnly, "INFORMAÇÃO" - Ok!
4. Depois da msg anterior aparece a info: "Run-time '13': Type mismatch" e não filtra o nivel de acesso
5. O código que tenho actualmente no btn "Entrar":
Private Sub BtnLoginEntrar_Click()
Dim ValidarUtilizador As Integer
Dim Nivel_Acesso As String
If Nz(Me.TxtUtilizadorLogin.Value) = "" Or Nz(Me.TxtUtilizadorSenha) = "" Then
MsgBox ("Preencha os campos!"), vbInformation + vbOKOnly, "ATENÇÃO"
Exit Sub
End If
' Nivel_Acesso = DLookup("[GrupoId]", "TB_UTILIZADORES", "UtilizadorLogin = '" & Me.TxtUtilizadorLogin.Value & "'")
If ValidaCamposNulos = False Then
Cancel = True
Else
ValidarUtilizador = DCount("[UtilizadorId]", "CST_UTILIZADORES_LOGIN", "strcomp([UtilizadorLogin], '" & Me.TxtUtilizadorLogin _
& "',0)= 0 And strcomp([UtilizadorSenha], '" & Me.TxtUtilizadorSenha & "',0)=0")
If ValidarUtilizador > 0 Then
varNomeUtilizadorLog = DLookup("[UtilizadorNome]", "CST_UTILIZADORES_LOGIN", "[UtilizadorLogin]= '" & Me.TxtUtilizadorLogin _
& "' And [UtilizadorSenha]= '" & Me.TxtUtilizadorSenha & "'")
varLoginUtilizadorLog = DLookup("[UtilizadorLogin]", "CST_UTILIZADORES_LOGIN", "[UtilizadorLogin]= '" & Me.TxtUtilizadorLogin _
& "' And [UtilizadorSenha]= '" & Me.TxtUtilizadorSenha & "'")
varGrupoUtilizadorLog = DLookup("[GrupoNome]", "CST_UTILIZADORES_LOGIN", "[UtilizadorLogin]= '" & Me.TxtUtilizadorLogin _
& "' And [UtilizadorSenha]= '" & Me.TxtUtilizadorSenha & "'")
varIdUtilizadorLog = DLookup("[UtilizadorId]", "CST_UTILIZADORES_LOGIN", "[UtilizadorLogin]= '" & Me.TxtUtilizadorLogin _
& "' And [UtilizadorSenha]= '" & Me.TxtUtilizadorSenha & "'")
varIdGrupoLog = DLookup("[GrupoId]", "CST_UTILIZADORES_LOGIN", "[UtilizadorLogin]= '" & Me.TxtUtilizadorLogin _
& "' And [UtilizadorSenha]= '" & Me.TxtUtilizadorSenha & "'")
MsgBox ("Login da Aplicação Tuberculosis OK! " & varNomeUtilizadorLog & "."), vbInformation + vbOKOnly, "INFORMAÇÃO"
DoCmd.Close acForm, "FRM_LOGIN"
DoCmd.OpenForm "FRM_MENU"
Else
MsgBox ("Utilizador e/ou Senha inválidos!"), vbInformation + vbOKOnly, "ATENÇÃO"
Me.TxtUtilizadorLogin.SetFocus
Me.TxtUtilizadorSenha = Empty
Exit Sub
End If
End If
If Nivel_Acesso = 1 Then
DoCmd.Close
DoCmd.OpenForm "FRM_MENU"
ElseIf Nivel_Acesso = 2 Then
DoCmd.Close
DoCmd.OpenForm "FRM_MENU"
Forms!FRM_MENU.BtnGestaoUtilizadores.Enabled = False
End If
End Sub
Tenho uma tabela de acessos com 3 campos (GrupoCodigo,GrupoID,GrupoNome) onde:
GrupoID (1 e 2) e GrupoNome (Administrador e Utilizador) respectivamente
Obrigado pela atenção e agradeço ajuda