Access - bloquear acceso a tablas y forms

   
Vista:

bloquear acceso a tablas y forms

Publicado por rafa (149 intervenciones) el 26/05/2010 12:06:04
Hola, espero que podais ayudarme con el siguiente problema:
Tengo una base de datos de personal con diferentes tablas y forms, pero no quiero que determinados empleados puedan tener acceso al formulario y la tabla donde tengo almacenado las direcciones de los empleados. La tabla se llama DIRECCIONES y el formulario que no quiero que puedan acceder FILIACION_PERSONAL.
Muchas 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

RE:bloquear acceso a tablas y forms

Publicado por 2pl (3 intervenciones) el 26/05/2010 16:16:16
Yo empleo el siguiente sistema:
una tabla con tres campos USUARIO, CLAVE y OPCION
donde meteras a los usuarios, claves y opciones

un formulario para introducir USUARIO Y CLAVE (que previamente deben estar dados de alta) y en el evento "Al hacer click" del botón aceptar
Private Sub BtnAceptar_Click()
Dim ACCEDER As Variant
Dim GP2PLdb As Database
Dim MI_RS As Recordset
Set GP2PLdb = DBEngine.Workspaces(0).Databases(0)
Set MI_RS = GP2PLdb.OpenRecordset("Usuarios")
ACCEDER = False
MI_RS.MoveFirst
Do While Not MI_RS.EOF
If MI_RS("Usuario") = Me.USUARIOS And MI_RS("Clave") = Me.CLAVEUSUARIO Then
ACCEDER = True
Exit Do
End If
MI_RS.MoveNext
Loop
MI_RS.Close
If ACCEDER Then
Usuario = Me.USUARIOS
Clave = Me.CLAVEUSUARIO
DoCmd.Close
DoCmd.OpenForm "Principal"
Else
CALLFUNC = MsgBox("ACCESO DENEGADO" & vbCrLf & "USUARIO INEXISTENTE O CLAVE INCORRECTA", vbCritical, "")
End If
End Sub
---------------------------------------------------------------------------------------------------------

Una función como esta
Public Function AUTORIZADO(Usuario, Clave, Opcion) As String

Set GP2PLdb = DBEngine.Workspaces(0).Databases(0)
Set RS = GP2PLdb.OpenRecordset("Usuarios")
AUTORIZADO = False
RS.MoveFirst
Do While Not RS.EOF
If RS("Usuario") = Usuario And RS("Clave") = Clave And RS("Opcion") = Opcion Then
AUTORIZADO = True
Exit Function
End If
RS.MoveNext
Loop
RS.Close

End Function
-----------------------------------------------------------------------------------------------------------
En el evento "al hacer click" de la opcion que quieras ... por ejemplo
Private Sub lblItem1_1_03_Click()
Opcion = "Personal en alta"
If AUTORIZADO(Usuario, Clave, Opcion) Then
DoCmd.OpenForm "TIPO CONTRATO"
Else
MensajeMsgbox = MsgBox("USUARIO NO AUTORIZADO", vbCritical, "")
End If
End Sub
---------------------------------------------------------------------------------------------------------
De esta forma podrás controlar quien puede entrar a determinados formulario y que usuarios pueden acceder a la aplicación.
Con un poco de paciencia y varias pruebas... lo conseguiras.
Saludos
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

RE:bloquear acceso a tablas y forms

Publicado por rafa (149 intervenciones) el 31/05/2010 13:15:16
muchas gracias, pero soy un novato en esto de la programacion, me podrias enviar un ejemplo ya que no se exactamente donde poner cada codigo y cada formulario.
en caso contrario hacerme comentarios a las lineas de codigo.
un saludo
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