Insertar menú Ribbon personalizado en Form Access2016

Sigo intentando de a poco entender como funciona el menú Ribbon personalizado en Access 2016 y me encuentro con el siguiente inconveniente.

Tengo un formulario que en el evento load ingreso:

 Private Sub Form_Load()

    Me.RibbonName = "mnuStock"

End Sub

Tengo en la tabla USysRibbons:

Dicha tabla tiene la siguiente definicion

Id (autonumeración)

RibbonName (texto corto 50)

RibbonXml (texto largo)

En esta tabla tengo un registro con id 3, RibbonName mnuStock y en RibbonXml el siguiente XML:

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">

    <ribbon startFromScratch="true">

        <tabs>

            <tab id="mnuStock" label="Stock">

                <group id="mnuStock01" label="Movimientos de Stock">

                    <button id="mnuStock02" label="Ingresos y Egresos" />

                </group>

            </tab>

            <tab id="mnuUsuario" label="Mi Usuario">

                <group id="mnuUsuario01" label="Menú del Usuario">

                    <button id="mnuUsuario02" label="Cambiar contraseña"/>

                    <button id="mnuUsuario03" label="Administrar favoritos"/>

                    <button id="mnuUsuario04" label="Cambiar apariencia del sistema"/>

                </group>

            </tab>

            <tab id="mnuMantenimiento" label="Manenimiento">

                <group id="mnuMantenimiento01" label="Mantenimiento del Sistema">

                    <button id="mnuMantenimiento02" label="Perfiles de usuario"/>

                    <button id="mnuMantenimiento03" label="Parámetros del Sistema"/>

                    <button id="mnuMantenimiento04" label="Visualizar parámetros del sistema"/>

                </group>

                <group id="mnuMantenimiento05" label="Copia y Restauración">

                    <button id="mnuMantenimiento06" label="Backup Base de Datos"/>

</group>

</tab>

</tabs>

</ribbon>

</customUI>

Aun no cargo imágenes y no llamo a los formularios y/o funciones pues aun no termino de entender.

Finalmente el problema que tengo es que el formulario no carga el susodicho menú Ribbon.

¿Me está faltando algo?

1 respuesta

Respuesta
1

No soy experto pero llevo algún tiempo creando ribbons simples yo uso access 2013, he probado tu ribbon y a mi me carga.

Intenta asociar el ribbon en lugar de vba directamente desde el formulario.

Yo lo que hago en crear un formulario sobre la Tabla USysRibbons para trabajar más fácil.

Una vez copia el código xml en USysRibbons hay que cerrar la base datos o compactarla.

Luego pon tu formulario en el cual quieres que se cargue el ribbon en vista diseño, y en la pestaña otras hay una opción que se llama Nombre Banda de opción y hay seleccionas el ribbon.

Luego has de hacer lo mismo cerrar y volver abrir o compactar la base de datos.

De todas formas la forma de llamarlo mediante vba esta bien también. Comprueba que tengas como mínimo activadas estas referencias que aparecen con un check en el modulo de VBA.

Para acceder a el Herramientas base de datos Visual Basic o Alt+F11, y luego menu herramientas y luego referencias.

¡Gracias! Estimado. Sigue sin funcionar. Me faltaba unas de las referencias, pero igualmente no me carga el menú. Seguiré investigando.

Un abrazo

Yo en mi tabla USysRibbons yo tengo solo dos Campos sin clave principal

RibbonName

RibbonXML

Si quieres mándame un enlace o una copia de la bd sin datos y te lo miro

Estimado muchas gracias, ¿cómo le envío la DB?

Un abrazo

Puede Mandármela a mi correo [email protected] si lo desea

He revisado la bd que me mandaste lo primero me da un error:

En cuanto al código le sobraba un espacio al final antes del cierre del código de uno de los button, y el formulario debe de cumplir dos condiciones para que se cargue el ribbon y son que tiene que estar visible y el modo emergente debe estar en NO.

No se como quieres que te aparezca en tu cinta de opciones pero al colocar esta línea en como "false", lo que consigues es que cargue tu ribbon al final de las cintas de opciones de access si lo que pretendes es que solo cargue tu ribbon deberías poner "true" y solo te cargará tu ribbon

 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

También recomendarte como me hizo a mí sveinbjorn a partir del access 2010 el esquema correcto para el ribbon es este, solo cambian los números:

 <customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui">

Decirte que en el código que tienes te faltaría como poco el atributo onaction que es el que sirve para indicar el nombre de procedimiento que va a ejecutar el button, y alguno más en el caso que quieras que los botones sean imágenes ya bien sean de access o creadas por ti. También deberías de crear un módulo de vba para crear dichos procedimientos etc...

Te sugiero que le eches un vistazo al este manual de ribbon realizado por Neckkito que esta muy bien y es muy útil además tiene ejemplos para ir cogiendo los conceptos de lo que explica.

http://bit.ly/1QCAlZQ 

Te reenvío a tu correo la bd que me mandaste donde ya carga el ribbon ya me dirás si te funciona, y si te sirvió.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas