Usuario y contraseña en access 2007

Se que esto es un tema de todos los días, utilizo access 2007 y tengo una base de datos que tienen que accesarla 20 personas, de las cuales 5 tienen acceso a toda la base de datos (ingreso de información, consultas y reportes) los demás solo tendrán acceso a algunos formularios para que ingresen información importante.
Me gustaría saber cómo crear un acceso por medio de formulario, que a través del ingreso de usuario y contraseña cada quien ingrese a los datos que le corresponde. Tengo más de 12 formularios, 20 consultas y 15 reportes. Como puedo hacer para que los administradores entren a todo y los demás solo a 3 formularios y 2 consultas.
Mi correo es [email protected]

2 Respuestas

Respuesta
1
La idea es crear una tabla con los campos
IdUsuario Identificador del usuario (ejemplo: matricula, dni, número de empresa...)
NombreCompleto
Contraseña
Privilegio
En un módulo estándar (módulo no asociado a formularios) creamos variables públicas de IdUsuario y Privilegio.
Public Idusuario As String
Public Privilegio As String
De esta manera tendremos estas variables para cualquier formulario.
El formulario de arranque nos pedirá a través de dos cuadros que incorporemos un identificador de usuario y una contraseña (esta le pondremos el formato de contraseña para que salgan asteriscos y no se vea lo que escribimos).
Al pulsar un botón de abrir mirará si existe el usuario en la tabla de contraseñas y si la contraseña es la correcta. En tal caso asignará a las variables públicas el dato de Idusuario y Privilegio, y abrirá el formulario principal que supongo que posee botones de acceso a las distintas partes de la aplicación.
En cada botón de acceso situaremos el condicionante de privilegio o de usuario tipo:
If Privilegio="Administrador" then
...
...
Else
Msgbox "No tiene acceso"
End if
Al tener la variable IdUsuario con el dato del usuario de entrada, podríamos gravar ese dato en campos de tablas que nos indicaría quien varió algo. Ejemplo, si un usuario tiene que pulsar un verificador, podríamos incorporar su identificador tras pulsar ese verificador en un campo llamado MarcadoPor.
La idea es esta, a ver si la pones en marcha.
Si tienes problemas te podría crear un acceso en BD pero la intención es que lo intentéis vosotros, de esa manera superaréis poco a poco las incidencias.
Ya me comentarás.
Una aperta.
Hola, muchas gracias por tu ayuda pero aun no logro crear la base completa, me podrías enviar por favor una base como me mencionas.
Yo cree una tabla como dices, he hice un formulario con 2 textbox, y 2 botones. No me queda claro la parte de los privilegios, porque me gustaría que cuando entren en administrador puedan ver todo, pero si es usuario1 solo vea 3 consultas, si es usuario2 solo vea dos forms y una consulta X. ESta es la parte que no logro entender.
Los usuarios 1 y 2 no pueden ver otra cosa que no sea lo mencionado.
La parte de visualización es la que aun no comprendo., el código del botón OK es el siguiente:
Private Sub cmdOK_Click()
On Error GoTo Err_cmdOK_Click
  Dim Rst As New ADODB.Recordset
  Dim StrSQL As String
  StrSQL = "Select * from usuarios where nombre='" & Trim(Me.Nombre) & "' And password='" & Trim(Me.Password) & "';"
  Rst.Open StrSQL, CurrentProject.Connection
  If Rst.EOF And Rst.BOF Then
   If Intentos > 3 Then
     MsgBox "Ha sobrepaso el número de Intentos para entrar en el programa", vbCritical + vbOKOnly, "ERROR EN CLAVE DE ACCESO"
     DoCmd.Quit
   End If
   MsgBox "La Clave o Usuario no son correctos: Inténtelo de nuevo", vbCritical + vbOKOnly, "ERROR EN LA CLAVE"
   Me.Password.SetFocus
   Intentos = Intentos + 1
  Else
   MsgBox "La clave y usuario son correctos", vbInformation, "INGRESO A LA BASE DE DATOS"
  ' DoCmd.Close
   DoCmd.OpenForm "frmempresas"
 End If
 Rst.Close
 Set Rst = Nothing
Exit_cmdOK_Click:
    Exit Sub
Err_cmdOK_Click:
    Errores Err.Number, " " & Me.Caption & "...[" & Me.Name & "]"
    Resume Exit_cmdOK_Click
End Sub
Muchas gracias
He creado una BD que os puede servir de entrada para cualquier aplicación de access.
La tabla TblPassword
IdUsuario Identificador único del usuario
Usuario Nombre del usuario
Password Contraseña
Privilegio Privilegio de acceso
Al abrir el formulario de arranque frmPasStartNew te pide usuario y contraseña.
Si acertamos te abre el frmPrincipal y nos aparecen unos botones que he puesto de ejemplo.
El primero sólo se activa si eres Administrador.
El segundo si tienes privilegio001 y administrador
Y el tercero se visualiza en caso de entrar con un usuario administrador. Esta última opción la realizo con el evento al activar registro.
Creo que la puedes adaptar a tus necesidades.
La he colgado en la sección DESCARGAS de mi página.
http://personales.ya.com/pachaweb/
Una aperta
Excelente, mil gracias.
Solo tengo unas consultitas pero te las hago luego.
Gracias por toda su ayuda, uno de los mejores expertos
Saludos
Respuesta
1

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas