LOGIN NO SISTEMA
Olha aí uma boa dica de código para logar no sistema. Crie uma tabela de cadastro
de usuários (Codigo, login, senha). Crie um formulário com duas caixas de texto
(login, senha). Abaixo delas ou do lado coloque um botão(cmdEntrar)
'Código de Eduardo Machado (Good Guy) do fórum Expert Access e MaximoAccess
Private Sub cmdEntrar_Click()
If Not IsNull(login) And Not IsNull(senha) Then
If verificaLogin(login, senha) = True Then
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
End If
End If
End Sub
'Função para identificar o usuário
Public Function verificaLogin(sLogin As String, sSenha As String)
'Código de Eduardo Machado (Good Guy) do fórum Expert Access e MaximoAccess
Dim nLogin As String
Dim nSenha As String
nLogin = login 'login é o nome da caixa de texto do formulário de Login
nSenha = senha 'senha é o nome da caixa de texto do formulário de Login
sLogin = Nz(DLookup("login", "tblCadastro", "login = '" & nLogin & "'"))
sSenha = Nz(DLookup("senha", "tblcadastro", "login = '" & sLogin & "'"))
If sLogin <> "" Then
MsgBox "Nome OK", vbInformation, "Testa Login"
End If
If sSenha = nSenha Then
MsgBox "Senha válida !!!", vbInformation, "Testa Login"
DoCmd.OpenForm "frmteste", acNormal 'Se senha for válida abre o formulário
principal
Else
MsgBox "Senha inválida !!!", vbInformation, "Testa Login"
End If
End Function
SEGURANÇA DE DADOS
Vamos supor que você queira classificar seus usuários pelo seu nível de permissão.
Ex: Administrador, Funcionário, Cliente
Crie então uma tabela de Níveis assim: Codigo(Numero), Nivel (Texto)
Crie uma tabela de Cadastro assim: Codigo(Numeração Automática), login(Texto),
senha(Texto),
Nivel(Texto/Combo), SoLeitura(Sim/Não), Permitido(Sim/Não)
Private Sub cmdCancelar_Click() 'Botão Cancelar do formulário de login
'Código de Eduardo Machado (Good Guy) do fórum Expert Access e MaximoAccess
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
End Sub
Private Sub cmdEntrar_Click() 'Botão OK do formulário de login
If Not IsNull(login) And Not IsNull(senha) Then
If verificaLogin(login, senha) = True Then
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
End If
End If
End Sub
'Funcão que verifica a existência do usuário e seu nível de permissão
Public Function verificaLogin(sLogin As String, sSenha As String)
Dim nLogin As String
Dim nSenha As String
Dim xLogin As String
Dim yLogin As String
Dim zLogin As String
Dim nCodigo As Integer
Dim x As String
Dim y As String
Dim z As String
nLogin = login 'Nome do usuário digitado na caixa de texto 'login'
nSenha = senha 'Senha do usuário digitado na caixa de texto 'senha'
x = Nz(DLookup("Nivel", "tblNiveis", "Codigo = 1"))
y = Nz(DLookup("Nivel", "tblNiveis", "Codigo = 2"))
z = Nz(DLookup("Nivel", "tblNiveis", "Codigo = 3"))
nCodigo = Nz(DLookup("Codigo", "tblCadastro", "login = '" & nLogin & "'"))
sLogin = CStr(Nz(DLookup("login", "tblCadastro", "login = '" & nLogin & "'")))
sSenha = CStr(Nz(DLookup("senha", "tblcadastro", "login = '" & sLogin & "'")))
xLogin = CStr(Nz(DLookup("login", "tblCadastro", "Nivel = '" & x & "' And Codigo =
" & nCodigo)))
yLogin = CStr(Nz(DLookup("login", "tblCadastro", "Nivel = '" & y & "' And Codigo =
" & nCodigo)))
zLogin = CStr(Nz(DLookup("login", "tblCadastro", "Nivel = '" & z & "' And Codigo =
" & nCodigo)))
If sLogin <> "" Then 'Valida usuário
MsgBox "Login válido !!! ", vbInformation, "Testa Login"
If sSenha = nSenha Then 'Valida senha do usuário
MsgBox "Senha válida !!!", vbInformation, "Testa Login"
If xLogin = sLogin Then
MsgBox "Seu nivel é de " & x & "", vbExclamation, "Testa Login"
DoCmd.OpenForm "frmteste", acNormal, , , acFormEdit 'Administrador
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
ElseIf yLogin = sLogin Then
MsgBox "Seu nivel é de " & y & "", vbExclamation, "Testa Login"
DoCmd.OpenForm "frmteste", acNormal, , , acFormAdd 'Funcionário
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
ElseIf zLogin = sLogin Then
MsgBox "Seu nivel é de " & z & "", vbExclamation, "Testa Login"
DoCmd.OpenForm "frmteste", acNormal, , , acFormReadOnly 'Cliente
DoCmd.Close acForm, "frmTesteLogin", acSaveYes
Else
Exit Function
End If
Else
MsgBox "Senha inválida !!!", vbInformation, "Testa Login"
End If
Else
MsgBox "Login inválido !!!", vbInformation, "Testa Login"
End If
End Function
Download

Codigo, login