Access - Grupo del usuario actual

 
Vista:

Grupo del usuario actual

Publicado por alfredo (9 intervenciones) el 11/03/2002 12:35:07
Hola:
¿Sabe alguien como obtener el grupo o grupos a los que pertenece un usuario que accede a una base de
datos?
¿Hay algo parecido a currentUser pero para grupos?.
Gracias de antemano
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
Imágen de perfil de Alejandro

Grupo del usuario actual

Publicado por Alejandro (4142 intervenciones) el 20/04/2023 22:23:00
En Access, puedes obtener los grupos de seguridad a los que pertenece el usuario actual utilizando código VBA. El objeto 'CurrentProject.Connection' proporciona acceso a la conexión actual de la base de datos, que a su vez se puede utilizar para obtener información sobre los grupos de seguridad y los usuarios.

El siguiente código VBA muestra cómo obtener los grupos de seguridad a los que pertenece el usuario actual:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Public Function GetUserGroups() As String
    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim strGroups As String
 
    Set cn = CurrentProject.Connection
    Set rs = cn.OpenSchema(adSchemaProviderSpecific, , "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
 
    While Not rs.EOF
        If rs.Fields("Name").Value Like "U_" & Environ("USERNAME") & "_*" Then
            strGroups = strGroups & rs.Fields("Name").Value & ";"
        End If
        rs.MoveNext
    Wend
 
    rs.Close
    Set rs = Nothing
    Set cn = Nothing
 
    GetUserGroups = strGroups
End Function

Este código utiliza la función 'OpenSchema' de la conexión actual para acceder a la información de los grupos de seguridad y usuarios. Luego recorre el Recordset y verifica si el nombre de usuario actual está incluido en el nombre del grupo. Si el nombre de usuario está incluido en el nombre del grupo, el código lo agrega a una cadena separada por punto y coma.

Para utilizar esta función en un formulario o informe, simplemente puedes llamar a la función en el evento que desees, como en el evento 'OnOpen' del formulario:

1
2
3
Private Sub Form_Open(Cancel As Integer)
    Me.lblUserGroups.Caption = GetUserGroups()
End Sub

Este ejemplo asigna el resultado de la función 'GetUserGroups()' a una etiqueta de texto en el formulario para mostrar los grupos de seguridad a los que pertenece el usuario actual. Puedes adaptar el código para mostrar la información de la manera que desees.

Espero que esto te ayude a obtener los grupos de seguridad a los que pertenece el usuario actual en Access.
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