Avaliação do Usuário

Estrela ativaEstrela ativaEstrela ativaEstrela ativaEstrela inativa
 

 

ACOMPANHE A SÉRIE

Sistema de Login e Senha no Access/VBA - Parte 1/5
Sistema de Login e Senha no Access/VBA - Parte 2/5
Sistema de Login e Senha no Access/VBA - Parte 3/5
Sistema de Login e Senha no Access/VBA - Parte 4/5
Sistema de Login e Senha no Access/VBA - Parte 5/5

EXEMPLO DO ARTIGO

Faça o download do exemplo do artigo para estudo: LoginSeguro.zip
O exemplo está completo, então, não se assuste caso você encontre códigos diferentes do que está sendo ensinado nesta parte do artigo.
Para compreendê-lo completamente estude primeiro todas as 5 partes do artigo.

DICA IMPORTANTE PARA ELEVAR SEU CONHECIMENTO

Assista as vídeo-aulas do Curso de Access 2010 (OfficeGuru) e também as do Curso de Programação em Access/VBA.
Para os leigos o Curso de Programação em Access/VBA é obrigatório.


INTRODUÇÃO

Um sistema que possui diversos usuários deve oferecer uma ferramenta que permita ao administrador gerenciá-los de forma adequada. Tarefas como inclusão, exclusão e alteração das informações dos usuários podem ser realizadas através de uma interface simples e algumas funções específicas.

Na terceira parte da série de 5 artigos sobre Login e Senha no Access/VBA, chegamos ao ponto de implementar as funcionalidades de gerenciamento de usuários. Com isto o administrador poderá incluir e excluir usuários, redefinir senhas, alterar grupos e até mesmo o login do usuário.

Infelizmente, possibilidades extras de gerenciamento, como bloqueio de usuários, verificação de status atual e controle de seção, entre outros, não serão abordados no momento, para que a série não se torne longa demais. Nesta série ficaremos apenas com as tarefas mais simples.

Mãos à obra, então, caro desenvolvedor.

GERENCIAMENTO DE USUÁRIOS

Para realizarmos o cadastro, o controle e a exclusão de usuários necessitaremos de uma interface que nos possibilite executar estas tarefas. Vamos então criar um formulário com o seguinte aspecto:

Formulário de Cadastro de Usuários

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

  • O nome do formulário será FCadastroUsuario.
  • Ajuste a propriedade Popup = Sim.
  • O nome da caixa de texto que exibirá o login será txtLogin.
  • O nome da caixa de combinação que exibirá o grupo do usuário será cbxGrupo.
  • O nome do botão de atribuição da senha padrão será btnSenhaPadrao.
  • O nome do botão de exlusão será btnExcluir.
  • O tipo de formulário será Formulário Contínuo.
  • Barras de rolagem: somente vertical.

A Fonte do Registro do formulário será o seguinte código SQL:

SELECT login, grupo FROM Usuario ORDER BY grupo, login; 

Assim teremos, como fonte de dados, as colunas de login e grupo da tabela Usuario. É importante deixar a coluna chave da caixa de combinação cbxGrupo oculta, para que não fiquem aparecendo os valores numéricos ao invés do nome dos grupos.

Inclua também os rótulos de título de coluna e da informação de qual é a senha padrão.

Com este formuário poderemos incluir, excluir ou alterar as informações de qualquer usuário, inclusive realizar a troca de grupo, ajustando-o para as suas novas permissões.

Agora vamos começar a codificar a sua funcionalidade.

Formulários contínuos no Access sempre causam problemas quando utilizados em modo Popup. Para contornar esta dificuldade insira, no evento Ao Abrir, a seguinte instrução, responsável pelo dimensionamento do formulário:

Private Sub Form_Open(Cancel As Integer)
  DoCmd.MoveSize , , 16.4 * 567, 8 * 567
End Sub

Para quem não conhece esta técnica, ela multiplica o valor em centímetros que desejamos pelo valor 567, que é a quantidade de Twips equivalente a um centímetro. Caso as medidas do seu formulário sejam diferentes faça os ajustes necessários.


Piscando Dica: Twip: unidade de medida que equivale a 1/20 de um ponto, ou 1/1.440 de uma polegada. Existem 567 twips em um centímetro. (Fonte: Help do Access)



Agora, para redefinirmos a senha do usuário, retornando-a ao padrão do sistema, coloque o seguinte código no evento
Ao Clicar do botão btnSenhaPadrao. Antes disso, porém, devemos nos lembrar da organização e separação das responsabilidades. Vamos então atribuir a tarefa de mudança de senhas para o procedimento alterarSenha(), que também será criado no módulo ControleAcesso:

Sub alterarSenha(argLogin As String, argSenha As String)

    Dim strSql As String

    strSql = "Update Usuario Set senha='" & argSenha & "'" & _
            "Where login='" & argLogin & "'"
    DoCmd.SetWarnings False
    DoCmd.RunSQL strSql
    DoCmd.SetWarnings True
    
End Sub

Este procedimento recebe o login e a senha como parâmetros, monta o código SQL de atualização utilizando os critérios exigidos e executa a operação. Além disso desabilita as mensagens de confirmação padrão do Access. Isto é importante, pois desejamos utilizar as nossas próprias mensagens personalizadas, não é mesmo?

Seja social. Compartilhe!