¿Cómo puedo lanzar una cinta de la tabla UsysRibbons usando VBA en Access 2016?

Tengo una base de datos de MS Access 2016 y quiero, a través de código VBA, que dependiendo de cual usuario se haya logueado, se lance una cinta de opciones, de las que tengo cargadas en la tabla UsysRibbons. He buscado y solo encuentro ejemplos de como usar una cinta para un formulario o para un informe; pero necesito que esté disponible para toda la base de datos. ¿Existe forma de hacerlo desde VBA o la única forma es hacerlo manualmene desde la configuración de inicio de la BD?

2 respuestas

Respuesta

Debe crear una cinta en blanco para fijarla por defecto al iniciar la aplicación. Por cada rol crea una cinta. Después de loguearse el usuario y de acuerdo con el rol oculta la cinta por defecto y activa la del usuario. Algo como:

DoCmd. ShowToolbar "CintaInicio", acToolbarNo

DoCmd. ShowToolbar "CintaRol", acToolbarYes

Gracias por tomarse el tiempo de responder Eduardo. Pero al parece esto solo funciona con barra de herramientas. Me aparece este mensaje cuando quiero probar, el código de VBA:

Efectivamente la respuesta que presenté es equivocada, puede programarlo por código utilizando

Application. LoadCustomUI "cinta","codigoXML"

Preparé algo muy sencillo en donde con base en el ROL activo una cinta de opciones.

Si elijo "Admin" se activa un formulario maximizado con la cinta de opciones.

Ahora elijo el Rol "Invitado" y obtengo

Observe las opciones son diferentes.

Si quiere el ejemplo puede solicitarlo a [email protected] favor en el asunto anotar la consulta.

Respuesta
-1

En otro foro ante una pregunta similar, un antiguo participante es este foro dio esta respuesta en otro:


No te hace falta código para cargar un ribbon a un formulario o informe, lo puedes hacer directamente en sus propiedades ->pestaña Otras -> Nombre de la banda de opciones y ahí pones el nombre del ribbon a cargar.
Por código sería:
Me.RibbonName = miRibbon 'Donde miRibbon es el nombre de la cinta a cargar

Sveinbjorn El Rojo


Espero que te sea de utilidad, el autor de la respuesta merece todo mi respeto.
(Mi experiencia con los Ribbons es poca, nunca necesite)

Gracias, pero lo que necesito no es cargarlo para un formulario específico, si no para toda la aplicación, porque las cintas serán mi nueva barra de menús. Ya que en las versiones actuales de MS Access se ha cambiado el uso de la barra de menús por el uso de las cintas de opciones.

Para mi es 'más de lo mismo' ya que personalizo las aplicaciones para que sean lo más ergonómicas posible y los menús clásicos me ocupan espacio sin ofrecerme ninguna ventaja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas