Subinforme Calendario

Subinfome Calendario

Supongamos que tenemos una tabla con una serie de fechas para cada empleado y deseamos mostrarlas gráficamente en un calendario.

Queremos que en un informe, por cada empleado, se muestren tantos calendarios mensuales consecutivos como sean necesarios para abarcar todas las fechas que le correspondan. Es decir, si se trata de quince fechas en enero de 2009, se mostrará para ese empleado un calendario con el mes de enero de 2009, pero si tenemos una fecha en marzo de 2009 y otra en enero de 2010, se mostrarán los once calendarios mensuales necesarios para abarcar todo el periodo entre ambas fechas.

Descargar ejemplo

Utilizamos dos características nuevas en Access 2007. Por un lado, los memos con formato de texto enriquecido para resaltar las fechas y, por otro, Variables Temporales para filtrar consultas, lo que permite que se cambien los criterior al cambiar el valor y hacer requery. También usamos una tabla con números consecutivos para obtener la serie de fechas deseada simplemente sumándoles la fecha inicial.

Sin código

Este ejemplo apenas usa código, tan sólo unas pocas líneas en los eventos del informe asginando valores a TempVars o haciendo Requery; algo más de código se esconde en campos calculados de consulta, pero tampoco es mucho. El resultado es algo mágico, muy bonito para enseñar pero complicado de explicar. No obstante, en este artículo he tratado de contar cómo está hecho.

Personalizar el ejemplo

Para utilizar el ejemplo en una aplicación propia es necesario copiar casi todos los objetos y modificar una consulta y él código, poco, del informe. Para facilitar esta personalización el propio ejemplo contien un formulario que sirve de asistente, muy sencillo, para facilitar esta tarea.