essa função de cima também funciona, eu tenho uma mais simples que funciona legal também ,segue abaixo.
Em um modulo a variavel Cnn está declarada assim:
Public Cnn As New ADODB.Connection
'###############################################
'Conecta no banco de dados
'###############################################
With Cnn
'conexao com o banco de dados do access
Cnn.CommandTimeout = 10
Cnn.ConnectionTimeout = 5
Cnn.Provider = "Microsoft.Jet.OLEDB.4.0"
Cnn.ConnectionString = "Data Source = localdobancoanco.mdb;" & _
"Jet OLEDB:Database Password=;" & _
"User ID =Admin;" & _
"Password = ;"
'Abrindo a conexão
Cnn.Open
End With
'###############################################
'Verifica se o usuario na txt existe no banco
'###############################################
sql = " select * from tbl_usuarios where login = '" & Trim(txtUsuario.Text) & "'"
rsusuario.Open sql, Cnn, adOpenStatic, adLockReadOnly
If rsusuario.EOF = True Then
MsgBox " Este login não está cadastrado ! ", vbInformation, " Atenção !!! "
Set rsusuario = Nothing
Set Cnn = Nothing
txtUsuario.Text = ""
txtUsuario.SetFocus
Else
With rsusuario
.MoveMin
If !senha = Trim(txtSenha.Text) Then
mdiLoad.Show
Unload Me
Else
MsgBox " Senha inválida, favor verificar. ", vbInformation, " Atenção !!! "
txtSenha.Text = ""
txtSenha.SetFocus
Set rsusuario = Nothing
Set Cnn = Nothing
End If
End With
End If