Complemento calendario

 Principal Novedades Utilidades Código Enlaces Access Acerca de mí

     
 
Principal
Arriba

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Introducción Instalación Funcionamiento Calendario Descarga

Introducción

Desde hace años, suelo incorporar a todas mis aplicaciones un calendario emergente con festivos para facilitar la introducción de datos en campos de fecha. Un doble clic en el campo de fecha y, justo al lado, se muestra un calendario; en él elegimos la fecha, hacemos clic y esa fecha pasa a nuestro cuadro de texto. No es nada original, calendarios de éstos hay a montones, pero precisamente porque son muy útiles.

Con el tiempo, he ido modificando el calendario original, y ya no se parece nada al que tengo publicado; está más pulido y tiene un código más presentable, así que tocaba renovarlo. Además, he añadido un menú contextual, de los que se muestran con el botón derecho del ratón, para abrir el calendario como alternativa al doble-clic y para hacer algo tan elemental y tan útil como poner la fecha de hoy con un solo clic.

Llamar al formulario es muy fácil; basta con poner en la propiedad "Al hacer doble click" o en la que queramos, = fkalendar().  Entonces, ante un campo de fecha nuevo, no hay más que poner fkalendar() en la propiedad "Al hacer doble click" y ConKalendar en la propiedad "Menú Contextual" para que aparezca el menú emergente. Además y aparte le ponemos formato de fecha corta y máscara de entrada de fecha corta y, ya puestos, alineamos Centrado para que quede más bonito, le ponemos una ayudita en Texto de ayuda del control... ¡Ah! y se me olvidaba, naturalmente tenemos que haber importado en nuestra aplicación el formulario calendario, un módulo auxiliar y el menú emergente... Un poco rollo ¿no?

Así que me he hecho un complemento para que me haga todo eso. Lo tengo metido entre los complementos de Access y no tengo más que ir a Herramientas->Complementos->Poner Calendario a Controles de Fecha, seleccione el formulario en un desplegable, los controles con un clic, pulso Aceptar y el complemento lo hace todo en un instante: cambia todas las propiedades y, si hace falta, genera el calendario y el menú emergente en todos los controles.

¿ADO o DAO? Pues lo que prefieras, se lo indicas al complemento y éste te insertará un calendario que use uno u otro para buscar los festivos en la tabla que, si hace falta, crea él mismo.

 

Instalación
 

Debo agradecer a mi amigo McPegasus las indicaciones para construir nuestros propios complementos de Access en http://www.mcpegasus.net/content/complmentos.htm y también las instrucciones (en http://www.mcpegasus.net/complementos/AcwzMcSqlVba/AcwzMcSqlVba.htm ) acerca de la instalación y la ruta en la que, dependiendo de la versión, debemos copiar el complemento para que sea fácilmente encontrado por Access y que copio y pego aquí directamente:

Instrucciones de instalación:

Bajar el archivo .zip que se corresponda con la versión de Access que uses (de momento, sólo XP y 2003), descomprimir en la ruta donde deban instalarse los Addins y que cambia según la versión de Access.

Cualquier complemento de Access lo puedes poner donde quieras, siempre y cuando, al registrarlo le des la ruta correcta al instalador. Sin embargo, cada versión de Access tiene una carpeta "AddIns" predeterminada en la que el "Administrador de complementos" va a buscar en primer lugar. Por tanto, conviene situarlos en esa ubicación para así tenerlos siempre a mano, los tengamos instalados o no:

Access 97 (8.0)

Ruta descompresión,

C:\Archivos de programa\Microsoft Office\Office

Access 2000 (9.0)

Ruta descompresión,

C:Windows\Application Data\Microsoft\Complementos

Access 2002 XP (10.0)

jbwzKalendarXP.zip

Ruta descompresión (sustituir los * por el nombre de usuario de tu equipo),

C:\Documents and Settings\******\Datos de programa\Microsoft\AddIns

Access 2003 (11.0)

jbwzKalendar2003.zip

Ruta descompresión (sustituir los * por el nombre de usuario de tu equipo)

C:\Documents and Settings\******\Datos de programa\Microsoft\AddIns

Al finalizar la descompresión,

Abrir una aplicación de Access y luego Herramientas | Complementos | Administrador de complemento, activar Asistente para calendarios v.1 xx y luego Instalar.
 

A partir de este momento ya es funcional desde Herramientas | Complementos | Poner Calendario a Controles de Fecha

 

 

Funcionamiento del complemento
 

Desde nuestra aplicación seleccionamos Herramientas->Complementos->Poner calendario a controles de fecha.

Se nos muestra un único formulario en el que podemos seleccionar el formulario que contiene los controles que queremos modificar y que se mostrarán una vez lo hayamos elegido.

Marcamos los controles que deseamos (los que contengan "Fecha" en el nombre ya aparecerán marcados). Comprobamos en las opciones de la derecha si hay alguna opción que no queremos usar y la desmarcamos, elegimos abajo si queremos que el calendario use ADO o DAO  y pulsamos Aceptar

Al pulsar aceptar, si no existen y no hemos desmarcado la opción correspondiente, el complemento genera:

  • Un menú contextual llamado "ConKalendar"
  • Un módulo estándar llamado "ModKalendar"
  • Un formulario llamado "Seleccione fecha" que es el calendario. A su vez, el calendario generará la primera vez que se utilice, si es necesario, una tabla llamada Festivos usando ADO o DAO, según hallamos elegido.

Además, para los controles que hayamos seleccionado, ha cambiado las siguientes propiedades:

  • Formato: "Fecha corta"
  • Máscara de entrada: "00/00/00/;0:_"
  • Al hacer doble-click: "= fkalendar()"
  • Barra de menús contextuales: "Conkalendar"
  • Alineamiento: "Centrado"
  • Texto de ayuda del control: "Doble-clic o botón derecho del ratón muestran calendario"

Sin embargo, el formulario aún no se cierra, pues podemos seguir seleccionando más formularios para añadir calendarios a sus controles.

 
 

Funcionamiento del calendario
Al detener un momento el cursor del ratón sobre un cuadro de texto que hemos modificado con nuestro complemento, aparece el siguiente aviso:

Probamos primero a pulsar sobre el campo con el botón derecho del ratón. Aparece un menú contextual:

Si seleccionamos Hoy, como cabe esperar, en nuestro campo se pone la fecha de hoy. Si seleccionamos Insertar fecha, el resultado es exactamente el mismo que si hacemos doble clic sobre el cuadro de texto: se muestra el calendario:

Vaya, pero hay un fallo: Estamos en Santander y en Santander el 25 de julio es la fiesta de Santiago. No importa, lo arreglamos. Pulsamos sobre el día 25 con el botón derecho del ratón, nos pregunta si deseamos convertir la fecha en festivo y nos muestra un diálogo para elegir la festividad:

Ahora, ya podemos elegir fecha. No tenemos más que pinchar con el cursos del ratón sobre el día elegido y ya está: nuestro cuadro de texto, mostrará la fecha elegida.

 

Descarga