Access - Necesito un poco de ayuda

 
Vista:

Necesito un poco de ayuda

Publicado por Marcos Guerra (31 intervenciones) el 24/08/2006 19:45:30
Antes que nada saludos a todos y una preguntota quisiera saber si hay un codigo para saber el grupo actual al que pertenece el usuario asi como la funcion del currentuser hay algo parecido que se pueda hacer????

que tengan un buen dia...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito un poco de ayuda

Publicado por 2pl (773 intervenciones) el 25/08/2006 09:29:03
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito un poco de ayuda

Publicado por marcos guerra (31 intervenciones) el 25/08/2006 18:53:55
muchas gracias por eso pero un detalle nada mas quisiera saber si eso lo pongo en un evento o en otro lugar.

gracias por la ayuda saludos....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito un poco de ayuda

Publicado por 2pl (773 intervenciones) el 25/08/2006 19:04:06
LLamada a la función USUARIO y NetUserName en el evento que corresponda

If USUARIO(NetUserName(), INFORMES) Then
DoCmd.OpenForm "Pensionistas"
Else
MensajeMsgbox = MsgBox("USUARIO NO AUTORIZADO", vbCritical, "")
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Necesito un poco de ayuda

Publicado por marcos guerra (31 intervenciones) el 25/08/2006 21:35:33
Bueno muchas gracias y luego te informo que tal me funciono..

Que tengas un buen dia.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar