Access - deportivo

 
Vista:

deportivo

Publicado por Puli (15 intervenciones) el 09/05/2007 16:11:35
¿Sabe alguien si hay algun tipo de codigo para que access me reconozca el usuario con el que se ha iniciado sesion en windows, y segun que usuario se haya introducido tener unos derechos u otros en la base de datos?

Cuando me refiero a los derechos quiero decir que depende del usuario de windows que se introduzca tendra unos botones o unas barras diferentes segun pueda o no modificar los formularios o las tablas de la base de datos

Es que si se puede prefiero utilizar eso antes que poner un formulario para que se introduzca la contraseña, etc

Un saludo y gracias
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

Control de acceso basado en el usuario de Windows

Publicado por Alejandro (4142 intervenciones) el 10/08/2023 00:20:53
Puedes utilizar el nombre del usuario de Windows para controlar el acceso y los derechos en tu base de datos de Access. Aquí hay una guía sobre cómo hacerlo:

1. Obtener el nombre de usuario de Windows:

Puedes usar la función `Environ` en VBA para obtener el nombre de usuario de Windows. El nombre de usuario generalmente se encuentra en la variable de entorno "USERNAME". Puedes obtener el nombre de usuario en una variable y luego usarlo para tomar decisiones en tu código.

1
2
Dim userName As String
userName = Environ("USERNAME")

2. Definir niveles de acceso:

Define niveles de acceso para los usuarios de Windows en tu base de datos. Puedes crear una tabla en la base de datos que asigne a cada usuario su nivel de acceso. Por ejemplo, podrías tener un campo en la tabla llamado "NivelAcceso" con valores como "Admin", "UsuarioAvanzado", "UsuarioBásico", etc.

3. Controlar el acceso en los formularios y objetos:

Utiliza el nombre de usuario obtenido en el paso 1 para controlar el acceso a los diferentes formularios, botones y objetos en tu base de datos. Puedes hacer esto mediante eventos como "Load" o "Open" en los formularios, y luego usar estructuras condicionales para mostrar u ocultar elementos según el nivel de acceso del usuario.

Por ejemplo, en el evento "Load" de un formulario:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub Form_Load()
    If userName = "Admin" Then
        ' Mostrar todos los elementos para el administrador
        Me.BotónModificar.Visible = True
        ' ...
    ElseIf userName = "UsuarioAvanzado" Then
        ' Mostrar elementos limitados para usuarios avanzados
        Me.BotónModificar.Visible = False
        ' ...
    Else
        ' Usuarios básicos solo pueden ver
        Me.BotónModificar.Visible = False
        ' ...
    End If
End Sub

Recuerda que este enfoque solo proporciona una medida de seguridad básica y no debe ser la única forma de controlar el acceso a tu base de datos. Si la seguridad es una preocupación importante, también podrías considerar usar autenticación a través de contraseñas y cifrado de bases de datos.

Asegúrate de ajustar el código y las estructuras de control de acceso según tus necesidades específicas.
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