Tienes dos posibilidades cuando un usuario no puede elegir una opción:
1. Mostrarla deshabilitada
2. No mostrarla
De la primera forma, aunque él no pueda ingresar, sabe que esa opción existe y eso es un potencial problema de seguridad pues si es alguien curioso tratará de ver lo que le tienen prohibido. La ventaja para tí es que es lo más fácil de implementar.
La segunda forma requiere que generes un menú para cada usuario (o para cada grupo de usuarios).
Por lo general, elijas la forma 1. o la forma 2. lo más conveniente es que formes grupos de usuarios y todos lo que pertenezcan a un grupo tengan exactamente los mismos derechos de acceso.
Basicamente tendrías lo siguiente:
GRUPOS DE USUARIOS:
- Código del grupo de usuario
- Opciones disponibles
USUARIOS:
- Nombre del usuario
- Contraseña
- Código del grupo de usuario
- etc.
Si vas a utilizar la primera forma (mostrar la opción deshabilitada), entonces deberías tener una función que haga lo siguiente:
- Buscar en la tabla GRUPOS DE USUARIOS si este usuario en particular tiene derecho de acceso a esa opción
- Devolver .T. o .F., según corresponda
Colocas el nombre de esa función en la opción SKIP FOR del menú
Si vas a utilizar la segunda forma (no mostrar la opción) entonces cuando el usuario ingresa a tu aplicación (justamente después de escribir su nombre y su contraseña) generas el menú que le corresponde. Eso puedes hacerlo muy facilmente investigando como funcionan los menús, sus programas fuentes los verás en los archivos con extensión .MPR
Esta segunda forma es más trabajosa de implementar la primera vez (en tus siguientes aplicaciones ya no tendrás ese problema) pero es más segura.
De todas maneras, deberías ir pensando en obviar los menús tradicionales del VFP porque ya son del "viejazo" y hacer menús más modernos para tus aplicaciones.
Saludos.
Walter.