Vale, ahora está más claro. Mil disculpas.
Se me ocurre que cada vez que des clic a un botón te pregunte la contraseña, por ejemplo con un InputBox. El problema que tiene este método es que cuando el usuario entra la contraseña, por decirlo de algún modo, si alguien está detrás, puede verla.
Otra posibilidad es lo que te decía: ¿Hay alguna otra condición que no sea entrar una clave que el programa sepa o pueda saber al momento de abrir el formulario?, es decir, cuando el usuario entra al programa, ¿tiene una pantalla de login?
Si es así, y como dices está instalado en varios ordenadores, puedes hacer que cuando se cargue el form de las tres imágenes, según el usuario algunas estén activas (enabled) y otras no, según el caso.
Me explicaré: supongamos que tienes una pantalla de login que se llama LoginForm, con dos campos de texto, usuario y password (el segundo con máscara de contraseña) y dos botones:aceptar y cancelar, y que tienes 3 usuarios: user1, user2, admin.
Cuando el usuario hace clic en aceptar creas un procedimiento de evento (en las propiedades del botón, eventos, al hacer clic, procedimiento de evento, y luego el botón ... para entrar al editor de Visual basic). VB habrá escrito:
Sub Aceptar_Click()
End Sub
Entre estas dos lineas pones:
dim prioridad as integer
if usuario = "admin" then
prioridad = 0 'es un valor arbitrario
else
prioridad = 1
Endif
Docmd. Openform "inicio", acNormal,,, acFormEdit, acWindowNormal, prioridad
Docmd. Close acform, me. Name, acsaveyes
Con esto lo que haces es abrir el formulario inicio y le pasas el número que está guardado en prioridad.
Antes de mostrar el formulario inicio cierra el formulario de login para que no moleste.
En el formulario form1, lo abres en modo diseño, abres las propiedades, vas a la pestaña eventos y buscas el evento Al abrir y haces clic en ...
Entrarás otra vez en VB y verás que access ha escrito
Sub Form_Open()
End Sub
Entre las dos lineas escribes
if me.openargs=0 then
boton1.enabled=true
else
boton1.enabled=false
Endif
¿Qué hace esto?
Al abrir el formulario Access se pregunta: ¿Cuánto vale el argumento que me han pasado?
Si vale 0 significa que desde el form login le hemos pasado un cero, por lo que se trataba de un administrador, así que hace que el botón llamado boton1 esté activado y por tanto se puede usar.
En caso contrario (si es cualquier otro valor o incluso si es nulo), access pone el botón boton1 como no clicable, no activo.
No es difícil, inténtalo.
Ya me dirás que tal.