Como asignar la gestión de permisos de usuarios en los formularios de una base de datos
Tengo una base de datos en access con varios formularios, los mismos que tienen acceso todos los usuarios (administrador, sistema, operador, invitado) de mi sistema a la información que se ha generado, pero deseo que se les restrinja la modificación, eliminación, agregar, y exportar datos que se constituyen en botones de comando, y solo les permita visualizar a todos a excepción del operador quien es el responsable.
Es decir todos puedan ver la información, seleccionarla pero no modificarla, cambiarla, eliminarla o agregar a diferencia del "operador" quien si tenga todos estos permisos.
Eh desarrollado un código, y me funciona bien, pero me genera un error al momento que otro usuario distinto al "operador" requiere seleccionar un dato desde un cuadro de lista que le envía al dato filtrado en otra pestaña
Private Sub cmdO1_Click()
'Declaramos las variables
Dim vRol As String
'Cerramos el formulario actual
DoCmd.Close acForm, Me.Name
'Llamamos a la función para saber qué permisos tiene
vRol = tipoUser()
'Damos permisos en función del tipo de usuario
Select Case vRol
Case "Administrador"
'Si es administrador abrimos el formulario en sólo lectura
DoCmd.OpenForm "FDistribución1", , , , acFormReadOnly
Case "Operador"
'Si es operador abrimos el formulario con todos los permisos
DoCmd.OpenForm "FDistribución1"
Case "Invitado"
'Si es invitado abrimos el formulario en sólo lectura
DoCmd.OpenForm "FDistribución1", , , , acFormReadOnly
Case "Sistema"
'Si es sistema abrimos el formulario sólo para ser editado, pero no para añadir DoCmd.OpenForm "FDistribución1"
Forms!FDistribución1.AllowAdditions = False
End Select
End Sub