Access - CONTRASEÑAS

 
Vista:

CONTRASEÑAS

Publicado por Morlox (1 intervención) el 11/04/2005 11:30:05
Supongamos que tenemos un formulario llamado "Contactos totales" formado a partir de una tabla del mismo nombre.
En ese formulario hay 2 campos que son "Nombre comercial" (con los comerciales :Juan,Pedro y Jeus) y "Clientes" (con los clientes que corresponden a cada comercial, por ejemplo cliente a,cliente b y cliente c). Además de eso hay otros campos con otros datos de los clientes como pueden ser la direccion,el telefono,el fax,etc.

Mi pregunta es:

¿Como puedo hacer para que cuando "Pedro" intente entrar al formulario "Contactos totales" le pida una contraseña (por ejemplo 6428) y si "Pedro" mete la contraseña correcta pueda entrar al formulario pero solo pueda ver a sus clientes y no pueda ver los clientes de los demás compañeros? Los mismo para los demas comerciales pero cada comercial con su contraseña.

Saludos.
xDD
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

Restringir acceso a clientes por contraseña en formulario "Contactos totales"

Publicado por Alejandro (4142 intervenciones) el 30/05/2023 23:06:13
Para lograr esto, puedes utilizar VBA (Visual Basic for Applications) en Access para verificar la contraseña ingresada por cada comercial y filtrar los clientes correspondientes. Aquí hay un ejemplo de cómo puedes implementar esta funcionalidad:

1. Abre el formulario "Contactos totales" en el modo de diseño.
2. Haz clic derecho en el fondo del formulario y selecciona "Ver código" para abrir el editor de VBA.
3. En el editor de VBA, encuentra el evento "Al cargar" del formulario y agrega el siguiente código:

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
Private Sub Form_Load()
    Dim password As String
 
    ' Solicitar contraseña al usuario
    password = InputBox("Ingrese su contraseña", "Acceso restringido")
 
    ' Verificar la contraseña ingresada por el comercial actual
    Select Case Me.Comercial.Value
        Case "Pedro"
            If password <> "6428" Then
                MsgBox "Contraseña incorrecta. No tiene acceso a este formulario.", vbExclamation + vbOKOnly, "Acceso denegado"
                DoCmd.Close acForm, Me.Name
            End If
        Case "Juan"
            ' Verificar la contraseña para el comercial Juan
            ' Agrega más casos para cada comercial con sus respectivas contraseñas
 
        Case "Jesus"
            ' Verificar la contraseña para el comercial Jesus
            ' Agrega más casos para cada comercial con sus respectivas contraseñas
 
        Case Else
            MsgBox "Comercial no reconocido. No tiene acceso a este formulario.", vbExclamation + vbOKOnly, "Acceso denegado"
            DoCmd.Close acForm, Me.Name
    End Select
 
    ' Filtrar los clientes correspondientes al comercial actual
    Me.Filter = "Comercial='" & Me.Comercial.Value & "'"
    Me.FilterOn = True
End Sub

Este código verifica la contraseña ingresada por el comercial actual y, si es incorrecta, muestra un mensaje de error y cierra el formulario. Luego, filtra los clientes según el comercial actual para que solo se muestren los clientes correspondientes.

Asegúrate de ajustar los nombres de los campos y los comerciales en el código según tu base de datos.

Recuerda que este enfoque solo oculta los clientes de otros comerciales visualmente, pero los datos seguirán accesibles en la base de datos. Si necesitas una seguridad más robusta, deberías considerar utilizar una autenticación más avanzada y controlar el acceso a través de permisos de usuario y roles.

Espero que esta solución te ayude a restringir el acceso a los clientes por contraseña en el formulario "Contactos totales" en Access. ¡Buena suerte!
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