Option Compare Database
Option Explicit
Private Sub cmdOK_Click()
On Error GoTo Err_cmdOK_Click
Dim Rst As Recordset, Sql As String
Sql = "SELECT * FROM USUARIOS WHERE [USUARIO]=" & "'" & Me.TxtUsuario & "'" _
& " AND [PASSWORD]=" & "'" & Me.txtPassword & "'" _
& "WITH OWNERACCESS OPTION;"
'OJO a la ultima linea, ver comentario enviado por Atractor al final de este escrito (**)
Set Rst = CurrentDb.OpenRecordset(Sql, dbOpenDynaset)
If Rst.EOF = False Then
Dim itemmenu As CommandBarControl
Set itemmenu = CommandBars("MnuProlab").Controls("Analíticas")
If Rst("Analíticas") = False Then
itemmenu.Enabled = False
Else
itemmenu.Enabled = True
End If
Else
'si no es correcto usuario y contraseña cierra la base de datos
Msgbox "Usuario y/o contraseña no son validos.", vbCritical, "Error de autentificacion "
Rst.Close
Set Rst = Nothing
DoCmd.Quit
End If
'si llegamos aqui, el usuario existe
Rst.Close
Set Rst = Nothing
DoCmd.OpenForm "FONDO"
'se entiende que este formulario se llama copia_usuarios
'y es el de inicio de tu aplicación
DoCmd.Close acForm, "copia_usuarios"
Exit_cmdOK_Click:
Exit Sub
Err_cmdOK_Click:
Msgbox Err.Description
Resume Exit_cmdOK_Click
End Sub
(**)Comentario de Antonio Fernandez (ATRACTOR)
==============================================
Creo que deberías revisar el ejemplo:
La clausula WithOwnerAccessOptinon no es válidad en código Jet SQL.
Sólo es válida para consultas permanentes con un propietario.
Por lo tanto la seguridad que pudiera tener el sistema se va al "carajo",
ya que la tabla usuarios debe de ser accesible para que se pueda ejecutar
esa instrucción Jet SQL.
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)