RE:Necesito un poco de ayuda
Quizas te valga esto
Option Compare Database
Option Explicit
Private Declare Function WNetGetUser Lib "Mpr" Alias _
"WNetGetUserA" (ByVal lpName As String, ByVal lpUserName As String, lpnLength As Long) As Long
' Retorna el nombre del usuario o "" si el usuario no esta activo
Public Function NetUserName() As String
Dim I As Long
Dim username As String * 255
I = WNetGetUser("", username, 255)
If I = 0 Then
NetUserName = Left$(username, InStr(username, Chr$(0)) - 1)
Else
NetUserName = ""
End If
End Function
Public Function USUARIO(NOMUSU, INFORME) As String
Set GP2PLdb = DBEngine.Workspaces(0).Databases(0)
Set RS = GP2PLdb.OpenRecordset("Usuarios")
USUARIO = False
RS.MoveFirst
Do While Not RS.EOF
If RS("NombreOpcion") = INFORME Then
If UCase(NOMUSU) = RS("Usuario1") Or _
UCase(NOMUSU) = RS("Usuario2") Or _
UCase(NOMUSU) = RS("Usuario3") Or _
UCase(NOMUSU) = RS("Usuario4") Or _
UCase(NOMUSU) = RS("Usuario5") Or _
UCase(NOMUSU) = RS("Usuario6") Or _
UCase(NOMUSU) = RS("Usuario7") Or _
UCase(NOMUSU) = RS("Usuario8") Or _
UCase(NOMUSU) = RS("Usuario9") Or _
UCase(NOMUSU) = RS("Usuario10") Then
USUARIO = True
Exit Function
Else
Exit Function
End If
End If
RS.MoveNext
Loop
RS.Close
End Function
En esta llamada el usuario quiere acceder a un informe y compruebo en la tabla de autorizaciones si tiene permitido su acceso mediante una llamada a la función USUARIO.
LLamada a la función USUARIO y NetUserName
If USUARIO(NetUserName(), INFORMES) Then
DoCmd.OpenForm "Pensionistas"
Else
MensajeMsgbox = MsgBox("USUARIO NO AUTORIZADO", vbCritical, "")
End If
Se que es algo complejo, pero es lo que tengo.
Saludos