Avaliação do Usuário

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela ativa
 


{ads1} 

O FORMULÁRIO DE LOGIN

Como não poderia ser diferente, claro, temos que criar um formulário para que sirva de interface entre o sistema e o usuário que efetuará o login.

Crie um formulário, no modo design, com o seguinte aspecto:

 Tela de Login

Estes são os requisitos obrigatórios do formulário:

  • O nome do formulário será FLogin.
  • Ajuste a propriedade Popup = Sim.
  • O nome da caixa de combinação que exibirá a lista de usuários será cbxLogin.
  • O nome da caixa de texto para senha será txtSenha.
  • A máscara de entrada da caixa de texto para senha deverá ser a palavra Senha. Isto faz com que os caracteres sejam substituídos por asteriscos.
  • O nome do botão de login será btnLogin.
  • O nome do botão de saída do sistema será btnSair.
  • O tipo de origem da linha do campo cbxLogin será Tabela/Consulta.

A origem da linha para o campo cbxLogin será o seguinte código SQL:

SELECT Usuario.login FROM Usuario ORDER BY Usuario.login;

Também devemos informar, nas configurações do banco de dados, que o formulário FLogin deverá ser aberto por padrão na inicialização do sistema. Nas versões Access 2003 e anteriores isto pode ser configurado no menu Ferramentas -> Inicializar -> Exibir Formulário.

Nas versões Access 2007 e posterior clique no botão do office (canto superior esquerdo) e vá em Opções do Access -> Banco de Dados Atual -> Exibir Formulário.

Em todos os modos escolha o formulário FLogin entre as opções apresentadas.

CÓDIGOS DE VERIFICAÇÃO DE LOGIN E SENHA

O primeiro código que vamos criar é para o botão btnSair. Ele será responsável por encerrar o aplicativo, caso o usuário desista de acessar o sistema. Inclua as seguintes instruções no evento Ao Clicar do botão:

Private Sub btnSair_Click()
  
  If MsgBox("Deseja encerrar o aplicativo?", _
              vbQuestion + vbYesNo, "Sair do Sistema") = vbYes Then
    Application.Quit
  End If
  
End Sub

Agora vamos criar o código para o botão btnLogin, que será responsável por validar a senha do usuário e permitir o acesso ao formulário principal.

Para isto vamos utilizar a função DCount(), que realiza uma pesquisa na fonte de dados informada e retorna a quantidade de registros que correspondem ao critério informado nos parâmetros. Neste caso solicitaremos a quantidade de registros na tabela Usuario que contem o campo login e senha igual ao texto extraído das respectivas caixas de digitação.

Caso retornte uma quantidade igual a um registro, a senha do usuário foi validada, então o acesso é liberado. Após isso a tela de login é fechada e o formulário principal é aberto. Caso a verificação da senha falhe, uma mensagem é exibida ao usuário.

Este é apenas um dos métodos possíveis de se verificar a senha de um usuário. Cada desenvolvedor deve escolher aquela que achar mais apropriada para o seu caso. Tudo depende da sua imaginação, desde que observados os princípios básicos das boas práticas de programação e os procedimentos de segurança da operação.

Veja o código do evento Ao Clicar do botão btnLogin:

Private Sub btnLogin_Click()
  
  Dim criterio As String
  
  criterio = "login='" & cbxLogin & "' And senha='" & txtSenha & "'"
  If DCount("login", "Usuario", criterio) = 1 Then
    DoCmd.Close
    DoCmd.OpenForm "FPrincipal"
  Else
    MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
    txtSenha.SetFocus
  End If
  
End Sub

É importante que o leitor compreenda que o critério utilizado pela função DCount() corresponde a uma cláusula Where do SQL, prorém sem a palavra Where. Por isso ele deve ser preparado conforme as especificações do SQL, incluindo o envolvimento dos elementos de texto com as aspas simples, senão ocorerá um erro e o esquema não irá funcionar.

Devemos agora criar o código para efetuar o logout da tela principal, contudo sem sair por completo do sistema, voltando para a tela de login. Veja o código do botão btnLogout, no formulário FPrincipal:

Private Sub btnLogout_Click()
  
  If MsgBox("Deseja efetuar Logout?", vbQuestion + vbYesNo, "Logout") = vbYes Then
    DoCmd.Close
    DoCmd.OpenForm "FLogin"
  End If
  
End Sub

Bem, até aqui o nosso sistema básico de login e senha já está funcional. Mas, como já foi dito, este é um sistema básico.

No próximo artigo iremos tratar sobre as primeiras considerações a respeito das funcionalidades implantadas.

Nos encontramos na segunda parte. Até lá...

 

Seja social. Compartilhe!