Contraseña en formularios de access

Mi problema radica en que tengo una base de datos elaborada la cual cuenta con 6 diferentes tablas, cada tabla tiene muchísimos campos, y para cada una de esas tablas creé un formulario, es decir que tengo también 6 formularios, aparte de esos 6 formularios tengo un séptimo formulario el cual lo utilizo como menú, el menú cuenta con 6 botones los cuales cumplen la acción de abrirme el formulario que le corresponde. Ahora lo que quiero hacer es que cuando le de click en alguno de lo botones me pida contraseña y si se pudiese hasta un usuario, obviamente para cada formulario sería una contraseña y usuario respectivo, lo que más me interesa es que tenga contraseña, no tanto el usuario pero si se pudiese estaría perfecto.
Podrías ayudarme, soy nuevo en esto, la verdad no tengo ni idea de como hacerlo es por ello te pido de favor me ayudes y si puedes llevarme de la mano mucho mejor. ¿Tendría qué instalar algún otro programa? ¿O sólo basta con el access?

2 respuestas

Respuesta
1
Puedes probar a activar la seguridad en Access.
1.- Abres la BD en modo exclusivo
2.- En Herramientas-Seguridad-Cuentas de usuario y de Grupo, Cambias la contraseña de inicio de sesión del administrador (por defecto esta en blanco), le pones una contraseña.
3.- En esta misma ventana, creas también los usuarios que necesites, metes esos usuarios en el grupo usuarios (los sacas del grupo de administradores)
4.- Después en Herramientas-Seguridad-Permisos de usuarios y grupos, le quitas al grupo usuarios todos los permisos de todos los formularios
5.- Ahora le das a cada usuario permiso para el formulario que quieras
6.- Después estableces la contraseña de todos los usuarios y listo
Ok... hice todo lo que me dijiste, al menos creo que lo hice bien... el problema fue cuando le quise poner contraseña a cada usuario, ¿cómo lo hago?... la única opción que vi para poner contraseña fue para ponérsela a la base de datos, y no por usuario, ¿dónde puedo ver eso? Disculpa las molestias. Gracias...
Perdona, se me olvido decírtelo, abres la bd conel usuario que quieras cambiar la contraseña, y una vez dentro, En herramientas-seguridad-cuentas de usuario y de grupo-cambiar contraseña de inicio de sesión.
Ahí te aparecerá el usuario con el que has entrado, le pones la contraseña y repites para el resto
Hola que tal... de nuevo molestándote... oye la verdad no era exactamente lo que yo pedía, pero la verdad si me resultó muy interesante el proceso, la verdad creo me servirá de mucho. Pero bueno mira lo que yo realmente quiero es que dentro de la misma base de datos pueda yo ocupar un formulario, tipo menú, con 6 botones el cual por ejemplo los botones digan: Ventas, Logística, Recursos Humanos, Calidad, Proyectos, Producción; y al darle click a uno de los botones me habrá el formulario correspondiente, ya sea Ventas, Logística, Recursos Humanos, Calidad, Proyectos o Producción, pero que para abrir el formulario requerido me pida contraseña. Por ejemplo, si yo dentro del formulario menú presiono el botón que dice Ventas, que me pida una contraseña y si la contraseña es correcta entonces que me habrá el formulario del área de ventas.
Espero me haya explicado bien...
Disculpa te sigo molestando, pero la verdad no me queda de otra... dicen que la experiencia hace al maestro y yo la verdad no tengo experiencia en esto, échame la mano por favor.
Puedes hacer un formulario intermedio que solo tenga un cuadro de texto y un botón y ahí preguntas el usuario.
Después en el evento al hacer click puedes poner este sencillo código
If Texto0 = "pepe" Then
       DoCmd. Close
      DoCmd. OpenForm "formulario1"
Else
      MsgBox ("contraseña incorrecta")
End If
La contraseña la puedes meter por código
Hola, oye disculpa te vuelva a molestar, hice un nuevo formulario el cual tiene un botón como me dijiste, en las propiedades del botón me fui a la que dice: "Al hacer click" ya que creo que esa era la que me habías dicho, bueno resulta que cuando puse la contraseña y le di click en el botón me mandó el siguiente mensaje:
Microsoft Office Access no puede encontrar la macro 'If Texto0="pepe" then DoCmd"
La macro (o su grupo de macros) no existe o la macro es nueva pero no se ha guardado.
Observe que cuando introduce la sintaxis nombre_grupo_macro.nombre_macro en un argumento, debe especificar el nombre con el que se guardó por última vez el grupo de macros de la macro.
Disculpa te esté molestando tanto pero en verdad soy nuevo en esto y si necesito tu ayuda ya que es urgente para mi.
Tienes que usar el generador de código en el evento, no el de macros
Tienes que poner el código tal y como esta escrito, en sus lineas y sangrías, para que funcione.
Y el nombre del textbox tiene que ser texto0, o como quieras llamarlo, (pero cambialo en el código)
Ok, muchísimas gracias... ya me quedó esa parte, en verdad te agradezco muchísimo. Ahora lo voy a enfocar a la base que estoy realizando. En verdad te agradezco muchísimo.
Espero me permitas seguirte preguntando en las dudas que tenga...
Gracias... que tengas un excelente día!
Estoy a tu disposición.
Respuesta
1
Tienes dos formas :
Herramientas/Seguridad/Asistente de seguridad por usuario.
Este asistente te permite crear usuarios y grupos y luego conceder permisos a todos los objetos de Access (Tablas, Consultas, Formularios etc). Con permisos de ejecución, lectura, escritura etc.
La otra forma es un poco más manual. Puedes crear una tabla con usuarios y contraseñas, y otra con usuario, nombre formulario y permiso puede ser un si y no.
Quedaría así
Tabla_Usuarios
Usuario , Password, Nombre ..... etc
Tabla_Permisos
Usuario , Nombre_Formulario, Permiso
Luego creas un formulario inicial con dos textos y dos botones. Un texto usuario otro contraseña, un botón ingresar y otro salir.
Al presionar entrar dices
******************************************************************
dim usuario as string
usuario=dlookup("Usuario","tabla_usuario","Usuario=' " & me.usuario & "'")
' Me.Usuario es el campo de texto donde se introdujo el usuario
if usuario <>"" then    ' el usuario existe
docmd.openform "Foemulario_Menu","vista"  
  ' Abre el formulario Menu, te conviene guardar el usuario en una variable globar, quizá en un modulo para llamarla después, en este caso la llamo VG_Usuario (Variable Global Usuario)
VG_Usuario=Me.Usuario
else
msgbox "Usuario no exste " & chr(13) & "Acceso denegado"
end if
*******************************************************************
Dlookup (campo,tabla,condicion) = Te permite buscar el valor en una tabla o consulta
En cada boton de formulario puedes decir
********************************************************************
dim permiso as string
dim Nombre_Formulario as String
Nombre_Formulario="Mi_Formulario"     ' o el nombre que tenga
permiso=dlookup("campo_permiso","tabla_permisos","nombre_formulario=' " & Nombre Formulario & "' and usuario=' " & VG_Usuario & "'")
if permiso ="Si" then
docmd.openform Nombre_Formulario
else
msgbox "Usted No tiene Acceso a este Módulo"
end if
******************************************************************
De esta forma el usuario no tendrá que ingresar una clave cada vez que entra, sino que se loguea al principio. Si debes conceder permisos sólo modificas la tabla permisos y listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas