PDF de programación - Manual de Ribbon - Capítulo 7

Imágen de pdf Manual de Ribbon - Capítulo 7

Manual de Ribbon - Capítulo 7gráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 28 de Enero del 2018)
691 visualizaciones desde el 28 de Enero del 2018
351,6 KB
11 paginas
Creado hace 10a (19/04/2014)
MANUAL RIBBON

CAPÍTULO 71

Índice de contenido
INTRO 7: ALGO MÁS SOBRE MENÚS...........................................................................................2
ELEMENTOS QUE VAMOS A NECESITAR....................................................................................2
PLANIFICACIÓN DE NUESTRO MENÚ.........................................................................................3
CONSTRUYENDO NUESTRO RIBBON..........................................................................................3
MENÚ PARA TRABAJAR CON FORMULARIOS......................................................................4
MENÚ PARA TRABAJAR CON REGISTROS DEL FORMULARIO.........................................5
MENÚ PARA TRABAJAR CON INFORMES..............................................................................6
MENÚS DINÁMICOS........................................................................................................................8
PARA FINALIZAR ESTE CAPÍTULO.............................................................................................11

1

La BD y los archivos de ejemplo os los podéis bajar aquí

Visítame en http://neckkito.siliconproject.com.ar

1

INTRO 7: ALGO MÁS SOBRE MENÚS

En este capítulo vamos a profundizar un poco más sobre el
tema de los menús de la cinta de opciones. Veremos cómo
construirnos un menú de varios niveles, en una primera
parte, y en una segunda parte veremos cómo construirnos
lo que se denominan “Menús Dinámicos”.

El capítulo lo desarrollaremos sobre un supuesto práctico:
ello nos permitirá ver no sólo cómo vamos construyendo los
menús (y submenús) sino cómo vamos aplicando las
acciones que nos interesan sobre los elementos de nuestra
aplicación.

Tened en cuenta que la estructuración de tablas de este ejemplo no es la óptima. Por ello no os
fijéis en cómo he realizado dicha estructuración porque la he simplificado a efectos de
centrarnos sólo en aspectos del ribbon. Lo importante de este capítulo no es la BD en sí
misma. ¡Ojo!

Por otra parte veréis que hay opciones de menú que no son demasiado “cómodas” para
trabajar con los elementos de Access. De nuevo insisto en que os tenéis que quedar con la
idea de cómo se hace, dado que la finalidad no es conseguir una operativa impecable, sino que
aprendáis la mecánica para después poderla implementar en vuestras aplicaciones.

Y dicho esto pues... ¡a por los menús!

ELEMENTOS QUE VAMOS A NECESITAR
Vamos a crearnos una tabla que llamaremos TVendedores. Dicha tabla tendrá la siguiente
estructura:

Vamos a crearnos otra tabla, que llamaremos TVentas. Su estructura será la siguiente:

Para crear el campo [Vendedor] seleccionamos, como “Tipo de datos”, el asistente para
búsquedas, y lo configuramos así:

Seleccionamos TVendedores
Seleccionamos el campo [Vendedor]

• Deseo buscar los valores en otra tabla


• Ordenamos a nuestro gusto


Redimensionamos a nuestro gusto

Visítame en http://neckkito.siliconproject.com.ar

2



Finalizamos sin tocar ninguna otra opción

A continuación rellenamos la tabla TVendedores con algunos
datos, y después TVentas también con algunos datos.

Creémonos un formulario sobre TVentas, que llamaremos
FVentas.

Creémonos un informe sobre TVentas, que llamaremos
RVentas. Para crearlo yo he utilizado el asistente y he
agrupado, primero, por zona, y después por vendedor.

Creémonos otro informe sobre TVentas, que llamaremos RVentasVend. Lo único que le hecho a
este informe es ordenarlo por [Vendedor].

Finalmente vamos a crearnos un formulario en blanco que será el que se nos abra al abrir
Access, y que llamaremos FMenu.

PLANIFICACIÓN DE NUESTRO MENÚ
Vamos a planificar nuestro menú.

En primer lugar vamos a determinar que sólo utilizaremos nuestro menú, no los de Access. Eso
ya nos indica que el startFromScratch será true y que vamos a tener que cargar nuestra cinta
de opciones al iniciar nuestra aplicación.

A continuación vamos a tener que operar sobre los elementos que tenemos. Así,
necesitaremos:

✔ Un menú que nos abra FMenu.
✔ Un menú que nos abra FVentas.
✔ Un menú que nos abra RVentas.
✔ Un menú que nos abra RVentasVend.
✔ Un menú para cerrar FVentas.

Si vamos a tratar sobre FVentas vamos a necesitar un menú para manipular los registros:
añadir, ir al anterior, al siguiente, y eliminar registros.

A su vez, en cuanto a los informes, vamos a necesitar un menú para verlos en vista Informe o
vista Preliminar.

Más o menos, con lo anterior, ya tenemos una visión global y bastante completa de lo que
necesitamos que hagan nuestros menús en la cinta de opciones.

CONSTRUYENDO NUESTRO RIBBON
Vayamos paso a paso para construir nuestro ribbon. La primera parte es muy sencilla: creamos
el ribbon con nuestra pestaña y nuestro grupo. El punto de partida será el siguiente código
XML:

Visítame en http://neckkito.siliconproject.com.ar

3

MENÚ PARA TRABAJAR CON FORMULARIOS
Vamos a añadir un primer menú para trabajar con los formularios. Este menú abrirá o cerrará
los formularios. Eso significa que tendremos un menú a dos niveles:

- Operar con formularios (nivel 1)

– Maneras de operar (nivel 2)
- Separador
- Cerrar formulario (nivel 2)

Para hacer eso vamos a modificar nuestro XML así:

Y los dos niveles que comentábamos quedarían así:

Para no perdernos vamos a programar ahora las acciones de esos botones, teniendo en cuenta
que:

Visítame en http://neckkito.siliconproject.com.ar

4

- Abrir FVentas implica cerrar FMenu
- Cerrar FVentas implica abrir FMenu

En nuestro mdlRibbon vamos a escribir pues los siguientes
códigos:


Sub rbAbreFVentas(control As IRibbonControl)
DoCmd.Close acForm, "FMenu"
DoCmd.OpenForm "FVentas"
End Sub

Sub rbAbreFVentasAdd(control As IRibbonControl)
DoCmd.Close acForm, "FMenu"
DoCmd.OpenForm "FVentas", , , , acFormAdd
End Sub

Sub rbCierraFVentas(control As IRibbonControl)
DoCmd.Close acForm, "FVentas"
DoCmd.OpenForm "FMenu"
End Sub


MENÚ PARA TRABAJAR CON REGISTROS DEL FORMULARIO
Vamos a crearnos un menú para trabajar con los registros del formulario. Esta vez nuestro
menú tendrá tres niveles, más o menos siguiendo este esquema.

Trabajar con registros (nivel 1)

- Nuevo (nivel 2)
- Eliminar (nivel 2)
--- Separador
- Recorrido registros (nivel 2)

- Anterior (nivel 3)
- Siguiente (nivel 3)

Sé que podría haber hecho las opciones de primero y último, pero si se entiende el “anterior” y
“siguiente” no debería haber problemas para que vosotros completéis ese menú.

Aprovecharemos para incluir un separador de menú, pero esta vez, a diferencia del separador
de menú anterior, no tendremos una línea, sino que tendremos un texto descriptivo.

El bloque de código XML que deberíamos utilizar, pues, sería:

El resultado obtenido es:

Visítame en http://neckkito.siliconproject.com.ar

5

De nuevo, el código VBA para nuestros botones sería:


Sub rbNuevoReg(control As IRibbonControl)
On Error Resume Next
DoCmd.RunCommand acCmdRecordsGoToNew
End Sub

Sub rbEliminaReg(control As IRibbonControl)
On Error Resume Next
DoCmd.RunCommand acCmdDeleteRecord
End Sub

Sub rbAnterior(control As IRibbonControl)
On Error Resume Next
DoCmd.RunCommand acCmdRecordsGoToPrevious
End Sub

Sub rbSiguiente(control As IRibbonControl)
On Error Resume Next
DoCmd.RunCommand acCmdRecordsGoToNext
End Sub


MENÚ PARA TRABAJAR CON INFORMES
Vamos a crearnos nuestro tercer elemento de menú, que será el que nos permitirá trabajar
con nuestros informes.

La idea es tener la siguiente estructura:

- Menú informes (nivel 1)

- Tipos de vista (nivel 2)

- Vista informe (nivel 3)

- RVentas (nivel 4)
- RVentasVend (nivel 4)

- Vista preliminar (nivel 3)
- RVentas (nivel 4)
- RVentasVend (nivel 4)

Como os comentaba en la introducción esta estructura no es en absoluto óptima. Simplemente
la hago así para que podáis ver cómo añadir varios niveles de menú.

Nuestro código XML nos quedaría así:

Visítame en http://neckkito.siliconproject.com.ar

6

Tened en cuenta que, mientras vayáis construyendo los distintos niveles de menús, no podréis
ver los resultados hasta que no haya al menos definida una etiqueta <button>.

El resultado de lo anterior sería:

El código VBA para lo anterior tendrá una pequeña variación (que no afecta a los controles del
ribbon). Dado que las acciones son repetitivas sobre los mismos informes he creado, primero,
un procedimiento sub que discrimina qué informe es y en qué vista se está solicitando la
apertura. Los códigos de los controles del ribbon simplemente llaman a ese procedimiento
pasándole los argumentos necesarios.

El código sería:


Sub subAbreReport(nomReport As String, modo As Byte)
If modo = 1 Then '1=Report
DoCmd.OpenReport nomReport, acViewReport
Else 'Si no 2-Preview
DoCmd.OpenReport nomReport, acViewPreview
End If
End Sub

Sub rbAbreRVentasPrev1(control As IRibbonControl)
Call subAbreReport("RVentas", 1)
End Sub

Sub rbAbreRVentasVendPrev1(control As IRibbonControl)
Call subAbreReport("RVentasVend", 1)
End Sub

Sub rbAbreRVentasPrev2(control As IRibbonControl)
Call subAbreReport("RVentas", 2)
End Sub

Visítame en http://neckkito.siliconproject.com.ar

7

Sub rbAbreRVentasVendPrev2(control As IRibbonControl)
Call subAbreReport("RVentasVend", 2)
End Sub


Ni que decir tiene que, para simplificar, en todos los menús
que he construido hasta ahora he utilizado botones
(<button>). Podríamos haber utilizado cualquiera de los
comandos que hemos estado viendo en capítulos
anteriores.

Creo que, entendida la mecánica con menús de hasta
cuatro niveles, no tendríamos problemas en crear menús de
más niveles (aunque no sé lo prácticos que podrían llegar a
ser...).

MENÚS DINÁMICOS
Supongamos que queremos abrir RVentas filtrado por uno de nuestros vendedores. Podríamos
  • Links de descarga
http://lwp-l.com/pdf8505

Comentarios de: Manual de Ribbon - Capítulo 7 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad