Access - Permisos de Usuarios en Access

 
Vista:

Permisos de Usuarios en Access

Publicado por jaime alberto (1 intervención) el 27/08/2003 19:11:19
Requiero darle permisos de usuario o de grupo a un usuario sobre las tablas de MsysRelationShips y MsysObjects por medio de codigo, alguno tendria idea de como hacerlo muchas gracias por su colaboracion
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

Permisos de Usuarios en Access

Publicado por Alejandro (4142 intervenciones) el 02/05/2023 23:29:17
Modificar los permisos de usuarios y grupos en las tablas de sistema de Access puede ser peligroso y no se recomienda hacerlo, ya que puede afectar el funcionamiento de la base de datos. Además, Microsoft Access no proporciona una manera documentada de hacerlo por código.

Sin embargo, si aún necesita hacerlo, podría intentar utilizando la librería DAO (Data Access Objects) de Access para modificar los permisos de las tablas de sistema. A continuación, se muestra un ejemplo de cómo hacerlo para la tabla MsysRelationShips:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Dim db As DAO.Database
Dim tdf As DAO.TableDef
Dim relProp As DAO.Property
Dim user As String
Dim groupName As String
Dim perm As DAO.Permission
 
'Obtener referencia a la base de datos
Set db = CurrentDb()
 
'Obtener referencia a la tabla MsysRelationShips
Set tdf = db.TableDefs("MsysRelationShips")
 
'Obtener referencia a la propiedad de permisos
Set relProp = tdf.CreateProperty("Jet OLEDB:Table Hidden In Access", dbByte, False)
 
'Asignar permisos al usuario o grupo especificado
user = "nombre_usuario"
groupName = "nombre_grupo"
perm = dbSecReadDef + dbSecWriteDef + dbSecDeleteDef 'permisos de lectura, escritura y eliminación
 
If user <> "" Then
    relProp.Value = "0;#" & user & ";" & perm
ElseIf groupName <> "" Then
    relProp.Value = "1;#" & groupName & ";" & perm
End If
 
tdf.Properties.Append relProp
 
'Refresh de la tabla
db.TableDefs.Refresh

Este código asigna permisos de lectura, escritura y eliminación a un usuario o grupo especificado para la tabla MsysRelationShips. Tendría que adaptarlo para hacer lo mismo con la tabla MsysObjects y para asignar los permisos que necesita.

Sin embargo, recuerde que modificar los permisos de las tablas de sistema de Access puede causar problemas en la base de datos y no se recomienda hacerlo.
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