| |

 |
 |
 |
 |
 |
 |
 |
 |
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.
.jpg)
A partir de este momento ya es funcional
desde Herramientas | Complementos |
Poner
Calendario a Controles de Fecha
.jpg)
|
|
 |
 |
|
 |
 |
|
 |
 |
 |
 |
 |
 |
 |
 |
 |
 |
Funcionamiento
del complemento |
 |
Desde
nuestra aplicación seleccionamos
Herramientas->Complementos->Poner calendario a
controles de fecha.
.jpg)
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
79.jpg)
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.
|
|
 |
 |
|
 |
 |
|
 |
 |
|