Permisos a usuarios access 2007

Agradezco en lo que me puedas colaborar de antemano,
Lo que sucede es que tengo una base de datos que al iniciar me muestra un formulario donde me pregunta el usuario y la contraseña que esta ingresando y si este usuario y esta contraseña existen entonces que me muestre el panel de control utilizo este código y me esta funcionando OK.
Private Sub Comando15_click()
Dim rs As Object
    Set rs = Me.RecordsetClone
    rs.FindFirst "[USUARIO] = """ & Me.txtusuario & """"
    If Not rs.EOF Then
       Me.Bookmark = rs.Bookmark
       If Me.TxtClave = Me.CLAVE Then
            txtusuario = Null
            TxtClave = Null
            DoCmd.Close
            DoCmd.OpenForm "PANEL DE CONTROL", acNormal
            Else
          MsgBox "Usuario o Contraseña Inexistente!"
       End If
    Else
       MsgBox "Debes ingresar Portal,usuario y contraseña!!!"
    End If
End Sub
//// Lo que deseo es lograr proteger mi base datos?
Dentro de la tabla de usuarios cada usuario tiene un rol por ejemplo JUAN clave *** y rol OPERADOR1 o OPERADOR2 y uno único que seria Yo Administrador, entonces lo que deseo en si es que según el rol unicamente el administrador pueda tener acceso al diseño de la base de datos y que los a los otros roles unicamente puedan realizar acciones especificas LEER, MODIFICAR O CAMBIAR DATOS, AGREGAR O ELIMINAR que ojala se pudiera como generar un formulario de permisos donde yo le diga que de acuerdo al rol solo lea o agregue o elimine etc. Adicional a esto que sea yo el único que asigne esos permisos al rol (ADMINISTRADOR ÚNICO QUE PUEDA TENER ACCESO AL FORMULARIO DE PERMISOS).
Que pena molestar tanto pero que por ejemplo si ingresa alguien que no tiene usuario lo pueda crear el mismo y se asigne el rol él (esta parte ya la tengo y funciona bien también) es decir que la codicion este asignada al ROL
Espero puedas entender lo que deseo me serviría mucho pues no soy muy experto y lo que se es empíricamente entonces no me gustaría que nadie metiera las manos donde no debe.
1

1 Respuesta

194.675 pts. 20años de experiencia en programacion Access a razon de...
Desde mi punto de vista debes mantener 2 aplicaciones:
- Una para los usuarios en formato mde (imposible modificar diseños) y que no permita nuevos registros en la tabla de usuarios
-Otra para el administrador en formato mdb (dónde podrás editar objetos) y dónde haces lo que te plazca.
Cuando hagas modificaciones en tu copia, generas nuevos mde's y los distribuyes a los usuarios "de a pié"
¿Es decir traslado mi tabla de usuarios a otro bd? Pero la que puedo modificar yo, es donde tengo los formularios-consultas-informes etc, ¿esa es la que necesito entregarle a los usuarios para que ingresen y actualicen pero no quiero que vea el diseño?
No soy muy experto te agrazdeco me colabores mil gracias que hago
O no me has leído bien o no lo has entendido.
Tu ahora tienes una aplicación que funciona. Creas una copia mde de la misma y le añades la seguridad necesaria para que los usuarios no vean las tablas (existe abundante información sobre eso en la red; solo se trata de buscar un poco)
Esa aplicación la entregas a los usuarios. AL ser mde, no podrán acceder al diseño de los objetos.
Para ti te quedas una copia abierta de la aplicación (mdb) dónde puedas modificar los objetos que quieras.
Eso si, el sistema debe ser cliente/servidor (FrontEnd/BackEnd). Es decir: existe una bdd en un servidor con los datos (eso es: solo las tablas). A eso se le llama BackEnd. Tu y los usuarios solo tenéis unas aplicaciones con el resto de los objetos (formularios, consultas, informes, macros y módulos) y con las tablas vinculadas de ese BackEnd. A esa aplicación sin datos se la llama FrontEnd.
Mirate este artículo de mi amiga Anna del Alba al respecto: http://www.llodax.com/smf/index.php?topic=431.0

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas