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

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

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

Actualizado el 21 de Marzo del 2018 (Publicado el 9 de Febrero del 2018)
686 visualizaciones desde el 9 de Febrero del 2018
434,7 KB
16 paginas
Creado hace 10a (19/04/2014)
MANUAL RIBBON

CAPÍTULO 81

Índice de contenido
INTRO 8: PROFUNDIZANDO EN EL DROPDOWN Y EL COMBOBOX.....................................2
ELEMENTOS QUE VAMOS A NECESITAR....................................................................................2
OPERACIONES PARA CONSEGUIR UN DROPDOWN “BONITO”.............................................4
PROGRAMANDO NUESTRO CÓDIGO XML............................................................................4
UN INCISO: PROGRAMANDO NUESTRO CÓDIGO VBA......................................................4
SIGAMOS CON NUESTRO XML.................................................................................................1
ESTABLECIENDO EL NÚMERO DE ELEMENTOS: GETITEMCOUNT............................1
ESTABLECIENDO UN IDENTIFICADOR PARA NUESTROS ELEMENTOS:
GETITEMID...............................................................................................................................2
ESTABLECIENDO LA ETIQUETA PARA NUESTROS ELEMENTOS: GETITEMLABEL 3
¿Y SI AÑADIMOS UNA IMAGEN? GETITEMIMAGE.........................................................3
MOSTRANDO MÁS INFORMACIÓN: GETITEMSCREENTIP Y GETITEMSUPERTIP...5
O CHICHA O “LIMONÁ”, PERO LOS DOS A LA VEZ NO PUEDE SER:
GETSELECTEDITEMINDEX...................................................................................................5
FINALMENTE, UN... DOS... TRES... ¡ACCIÓN!....................................................................6
NOS FALTA UN ÚLTIMO DETALLE...........................................................................................8
¡OÍDO COCINA... UN COMBOBOX!...............................................................................................9
NUESTRO COMBOBOX.............................................................................................................10
CONSIDERACIONES PREVIAS............................................................................................10
NUESTRO CÓDIGO XML......................................................................................................10
NUESTRO CÓDIGO VBA: PRIMERA PARTE......................................................................10
NUESTRO CÓDIGO VBA: SEGUNDA PARTE....................................................................11
PARA FINALIZAR EL CAPÍTULO.................................................................................................12

1

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

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

1

INTRO 8: PROFUNDIZANDO EN EL
DROPDOWN Y EL COMBOBOX
En el capítulo 6 vimos de manera un tanto superficial (pero
efectiva) el funcionamiento de los controles dropDown y
comboBox.

En este capítulo vamos a profundizar un poco más en el
manejo de estos controles. Veremos cómo hacerlos más
“atractivos” y cómo explotar más a fondo sus
características.

Debo decir que ambos controles son muy parecidos, y sólo tienen unas diferencias
relativamente mínimas, básicamente en lo que se refiere a sus callbacks. Así que podemos
decir, casi casi, que “visto uno vistos todos” (nótense las comillas).

Como es un capítulo un poco más “especializado” veremos que la preparación de la BD que
realizaremos para desarrollar la explicación es un poco más laboriosa, pero esta tarea de
preliminares es estrictamente necesaria si queremos ver a fondo estos elementos.

Vamos allá.

ELEMENTOS QUE VAMOS A NECESITAR
Imaginemos que tenemos una tabla que nos recoge las ventas por zonas (N=norte, S=Sur,
E=Este y O=Oeste). Queremos utilizar un dropDown para mostrarlas, pero a la vez queremos
aportar una mayor información sobre las mismas. Sobre esta idea vamos a desarrollar el
ejemplo base de la explicación.

Para empezar vamos a necesitar una tabla que llamaremos TVentas, que tendrá la siguiente
estructura (mínima):

Introduzcamos algunos datos para rellenarla.

Vamos a crearnos un formulario continuo (varios elementos) sobre esta tabla. Lo guardaremos
como FVentas. Si queremos podemos añadir un cuadro de texto en el encabezado o pie del
formulario para sacar las ventas totales (doy por supuesto que eso lo sabéis hacer).

Vamos a crear una carpeta en la misma carpeta donde tenemos la base de datos. A esta
carpeta la llamaremos ImgZonas. En su interior añadiremos cuatro archivos bitmaps con
imágenes que representen las cuatro zonas que hemos comentado. Recordemos que esos
archivos deben ser de, por ejemplo, 48x48.

A estas imágenes les pondremos de nombre Norte.bmp, Sur.bmp, Este.bmp y Oeste.bmp.

A continuación nos crearemos una tabla, que llamaremos TZonas, que contendrá parte de la
información que nos aparecerá en el dropDown. Así, la estructura de la tabla será:

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

2

Rellenamos la tabla con los datos necesarios. Para que os
hagáis una idea a mí me ha quedado así:

 Importante: fijaos en cómo he construido el valor del campo [Id]. Es importante
construirlo con esta estructura (para este ejemplo... para vuestras aplicaciones lógicamente
podéis usar la estructura que os vaya mejor) porque después va a servirnos para poder
identificarlo en el ribbon y realizar las búsquedas de datos que necesitemos. ¡Ojo!

Vamos a crearnos un formulario en blanco, que guardaremos como FInfo. En él vamos a añadir
dos etiquetas grandes. A la primera le pondremos el nombre de lblDescripcion y a la segunda
lblPrevision.

Vamos a situar sus propiedades (las del formulario) en emergente y modal en SÍ.

Vamos a añadir un botón de comando que guardaremos con el nombre de cmdContinuar.

Para que os hagáis una idea a mí me ha quedado así:

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

3

Más adelante veremos cómo programar nuestro botón.

Finalmente, como ya es costumbre, crearemos un
formulario FMenu que es el que se cargará al iniciar la
aplicación (y que se supone que debería corresponderse, en
vuestras aplicaciones, con el formulario que os haga de
panel de control o de menú).

OPERACIONES PARA CONSEGUIR UN

DROPDOWN “BONITO”

PROGRAMANDO NUESTRO CÓDIGO XML
Como siempre vamos a empezar con un código XML base para ir ampliándolo. Este código será
del ribbon que se cargará al iniciar Access.

El código es:

Como veis he añadido un grupo con dos botones para poder ver los datos globales o cerrar el
formulario, teniendo en cuenta que si se abre FVentas se cierra FMenu y viceversa.

El efecto conseguido sería:

UN INCISO: PROGRAMANDO NUESTRO CÓDIGO VBA
Vamos a “quitarnos moscas de encima” y ya que estamos programaremos los códigos para las
acciones de estos dos botones (lógicamente en el modulo mdlRibbon). El código de cerrar
FVentas es tan sencillo como esto:


Sub rbCerrarFVentas(control As IRibbonControl)
DoCmd.Close acForm, "FVentas"

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

4

DoCmd.OpenForm "FMenu"
End Sub


El código de ver todas las zonas ya es un poco más
peliagudo. Debemos partir de la base de que caben dos
posibilidades:

• Que el formulario aún no esté abierto
• Que el formulario esté abierto, pero con los datos

filtrados por zona.

Nuestro código debe prever ambas posibilidades. Para ello
podríamos escribirlo así:


Sub rbTodasZonas(control As IRibbonControl)
'Si FVentas está cargado...
If CurrentProject.AllForms("FVentas").IsLoaded Then
'Le quitamos el posible filtro que pudiera tener para mostrar todos los datos
Forms!FVentas.FilterOn = False
Else
'En caso contrario cerramos FMenu y lo abrimos
DoCmd.Close acForm, "FMenu"
DoCmd.OpenForm "FVentas"
End If
End Sub


SIGAMOS CON NUESTRO XML
Para programar el dropDown lo ubicaremos en otro grupo, y partiremos de nuevo de una base
simple que iremos complicando.

Ampliemos nuestro código XML de partida, que quedará ahora así:

ESTABLECIENDO EL NÚMERO DE ELEMENTOS: GETITEMCOUNT
Para establecer el número de elementos de nuestro dropDown utilizamos el callback
getItemCount. Como tenemos cuatro zonas el número de elementos será de cuatro. Tengamos

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

5

en cuenta que podríamos realizar esta acción dinámicamente a través del código VBA. Para no
hacer el capítulo eterno yo ya parto de que conocemos, a priori, dicho número de elementos.

Nuestra línea de XML se ampliará a:

El código VBA para establecer el número de elementos
sería:


Sub rbElementosDD(control As IRibbonControl, ByRef count)
count = 4
End Sub


Con lo anterior conseguimos que nuestro dropDown “haga espacio” para contener cuatro ítem.

¿Nos acordamos, el capítulo anterior, que podíamos crear un menú dinámico? Pues, con sus
más y sus menos, aquí también podríamos darle algo de dinamismo a nuestro dropDown y
buscar el número de registros, por ejemplo, a través de un DCount(). En este ejemplo no es
necesario hacer esto porque ya sabemos que son cuatro las zonas.

Simplemente tened en cuenta que podría hacerse dinámicamente.

ESTABLECIENDO UN IDENTIFICADOR PARA NUESTROS ELEMENTOS:

GETITEMID

Ya sabemos que cada elemento del ribbon tiene un identificador (id). Los elementos del
dropDown también gozan de este privilegio. Para ello utilizamos el callback getItemID. Nuestra
línea de XML ahora quedará así:

¡Fijaos que el “ID” de getItemID va con D mayúscula! ¿Por qué digo esto? Porque si escribimos
“getItemId” (con la D minúscula) nuestro ribbon no se va a cargar. Recordad lo que os
comentaba en los primeros capítulos sobre que cualquier mínimo “error” ya hace que no se
cargue el ribbon (y no nos avise de por qué).

Y el código VBA para fijar esta característica sería, por ejemplo:


Sub rbElementosId(control As IRibbonControl, index As Integer, ByRef itemI
  • Links de descarga
http://lwp-l.com/pdf8678

Comentarios de: Manual de Ribbon - Capítulo 8 (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