Neste artigo você aprenderá como criar uma tela de login no Excel com Banco de Dados Access com download da planilha gratuita.
Criar Banco de Dados Access para Login no Excel
No nosso exemplo criamos uma tabela chamada Usuarios com os campos ID, NOME e SENHA conforme abaixo.
Os dados serão consultados à partir desta tabela dentro do Excel para verificar se o usuário e senha estão corretos e então permitir o acesso a pasta de trabalho.
Tabela de Usuários
Na pasta de trabalho criamos uma planilha com a tabela Usuários e colocamos os nomes dos usuários que temos na nossa tabela Access.
Pode ser também alterado o exemplo para que os usuários sejam cadastrados automaticamente por VBA.
Formulário de Login no Excel com Banco Access
Primeiro é necessário Habilitar Macros no Excel e em seguida clicamos no botão Visual Basic da guia Desenvolvedor.
Então clicamos no botão Inserir->Formulário e o mesmo foi inserido conforme temos abaixo.
No vídeo ao topo do artigo você tem passo-a-passo como criar o formulário de login no Excel, inclusive com as imagens.
Conexão com Banco de Dados Acces no Excel
Para realizar a conexão com o banco de dados Access usando VBA no Excel temos o seguinte código:
Option Explicit
Global cnn As ADODB.Connection
Global lUsuario As String
Public Sub gsConectarBD()
Dim SQL As String
If cnn Is Nothing Then
Set cnn = New ADODB.Connection
End If
If cnn.State <> 1 Then
SQL = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"Data Source=" & ThisWorkbook.Path & "\BD\BD.accdb;" & " Jet OLEDB:Database Password=123456"
cnn.Open SQL
End If
End Sub
Public Sub gsDesconectarBD()
On Error Resume Next
Dim SQL As String
cnn.Close
End Sub
Clique então no botão Inserir->Módulo e mude para Conectar o campo Name, veja como fica abaixo:
Código VBA para Consultar Banco Access Usando Excel
Para realizar a consulta do banco de dados Access no Visual Basic clique em Inserir->Módulo de classe.
Então copiamos o código e colocamos no módulo de classe cria com o nome clUsuarios.
Public Function lfValidarUsuario(ByVal lUser As String, ByVal lPass As String) As Boolean
On Error GoTo TratarErro
Dim lrs As ADODB.Recordset
Set lrs = New ADODB.Recordset
lfLogin = False
lsql = "SELECT 1 FROM USUARIOS WHERE DESNOME = '@USER' AND DESSENHA = '@PASS'"
lsql = Replace(lsql, "@USER", lUser)
lsql = Replace(lsql, "@PASS", lPass)
gsConectarBD
lrs.Open lsql, cnn, adOpenStatic, adLockBatchOptimistic
If lrs.RecordCount > 0 Then
lfValidarUsuario = True
Else
lfValidarUsuario = False
End If
TratarErro:
GoTo Sair
Sair:
Set lrs = Nothing
Exit Function
End Function
Após isso temos o código VBA para uma função que valida se o usuário e senha digitados no formulário estão corretos.
Funcionamento da Tela de Login no Excel com VBA
Após o desenvolvimento, conforme temos no vídeo ao topo do artigo, teremos o seguinte formulário que será exibido ao abrir a pasta de trabalho.
Então ao selecionar a combo você terá o nome do usuário que está na lista e poderá colocar a senha.
Clicando no botão ao lado da senha, ela será exibida ou ocultada, conforme clicar.
Após clicar no botão Login, você terá a pasta de trabalho aberta e poderá trabalhar com ela, senão se estiver incorreta a senha e se cancelar a entrada, será fechada a pasta de trabalho.
Download Planilha Tela de Login no Excel com BD Access
Clique no botão abaixo para realizar o download do arquivo de exemplo: