Access - Opacar/anular Opción en menú

 
Vista:

Opacar/anular Opción en menú

Publicado por Marcos (53 intervenciones) el 14/07/2011 17:28:49
Buenos Días.
En Acces 2003, me cree un menú horizontal (Herramientas - Personalizar).
En una de las opciones del menú se llama Valorización y despliega dos opciones una llamada precios y otra llamada costeo.
Los usuarios cuando ingresan a la aplicación lo hacen mediante una password la cual se almacena en una variable pública.
La pregunta es:
Cómo hago para que el usuario X no pueda ingresar en el menú Valorización / precios.
Sin embargo si podrá ingresar al menú Valorización costeo.
Serán muy amables y atentos al darme una respuesta.
Gracias.
Marcos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Opacar/anular Opción en menú

Publicado por 2pl (53 intervenciones) el 14/07/2011 20:12:24
En el evento "Al hacer click" del boton para entrar en Valorización / precios
If password="Pepe" then
else
docmd.openform " Valorización / precios"
endif

Esta es la forma más vulgar, lo logico seria tener una tabla con las autorizaciones de cada usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Opacar/anular Opción en menú

Publicado por Marcos (53 intervenciones) el 19/07/2011 19:07:04
Gracias por responder pero no era lo que quería.

Pero ya lo pude solucionar y explico aquí lo que hice para quienes lo puedan requerir.

En Access 2003 no existían los menús Ribbon que existen ahora con Access 2007, entonces una forma de hacerlos era mediante Herramientas-Personalizar del menú de Access 2003 y se escoje lo que uno quería hacer.
Así en mi aplicación en el menú creado, tengo una Opción que se llama Valorización y este despliega los submenu Precios y Costeo.
Los susarios acceden al sistema mediante una clave, la cual se guarda en una variable pública. Ahora en una tabla tengo las asignaciones a las secciones que el usuario puede acceder. En este caso necesito que el usuario NO ingrese al submenu Precios. Por lo tanto en la tabla de usuario y claves en el campo precios hago esa no asignación, mediante el tipo de datos SI/NO. Obviamente para los usuarios que sí tienen acceso están con un ticket y que en programación es identificado por -1. (menos uno).

Ahora bien, al ingresar a Herramientas-Personalizar del menú se access voy a las propiedades del submenu Precios y en donde dice "Acción" puse el nombre de una función la cual cree previamente en un módulo estándar.
La función se llama mensaje y es la siguiente:

Function mensaje()
Select Case listap ' Evalúa la clave listap, previamente declarada pública en el mismo módulo
Case Is = -1 ' si la clave está autorizada no hace nada y deja acceder al submenu
Case Else ' Si la clave no está autorizada envía mensaje con la restricción.
MsgBox "USTED NO TIENE ACCESO A ESTA SECCION...", vbCritical, "ACCESO DENEGADO"
Cancel = True
End Select
End Function

Espero haber sido claro y poder haber aportado con un granito de arena a quienes lo necesiten.
Un Saludo y abrazo desde Antofagasta-Chile.
Marcos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar