Necesita conocimientos de SQL. Sí, es posible crear un calendario de visitas en Access utilizando las tablas que ya tiene configuradas. Aunque Access no incluye un control de calendario nativo como en versiones anteriores, puede lograr una visualización estilo calendario mediante un enfoque basado en un reporte de matriz. Le dejo un plan paso a paso:
1. Configurar las tablas y relaciones
Asegúrese de que las tablas VISITAS y VISITAS_CLIENTES estén correctamente vinculadas mediante el campo NumeroVisita.
La tabla VISITAS_CLIENTES debe incluir al menos los siguientes campos relevantes:
IdCliente
Fecha
Motivo
2. Crear una consulta para consolidar datos
Cree una consulta para obtener los datos agrupados por día del mes y cliente.
SELECT
Day([Fecha]) AS Dia,
[IdCliente],
[Motivo],
Format([Fecha], "mmmm yyyy") AS MesAnio
FROM
VISITAS_CLIENTES
WHERE
Format([Fecha], "mmmm yyyy") = [Ingrese el mes y año, por ejemplo: 'Enero 2025']
ORDER BY
Day([Fecha]), [IdCliente];
Explicación:
La función Day([Fecha]) extrae el día del mes.
La función Format([Fecha], "mmmm yyyy") filtra los registros del mes específico que el usuario indique.
Este formato organiza los datos por día para que luego los ubique en un formato estilo calendario.
Guarde la consulta con un nombre como ConsultaCalendarioVisitas.
3. Crear una tabla auxiliar para los días del mes
Access no tiene una estructura de calendario por defecto, pero puede crear una tabla llamada DiasMes que contenga los días del 1 al 31. Esta tabla se usará para simular el diseño de un calendario.
Estructura de DiasMes:
Campo: Dia (Número, enteros del 1 al 31).
Llena la tabla con los números 1 al 31.
4. Crear una consulta de unión para construir el calendario
Use una consulta de unión para combinar los días del mes con las visitas. Por ejemplo:
SELECT
DiasMes. Dia,
Nz(Clientes. IdCliente, 'Sin visitas') AS Cliente,
Nz(Clientes. Motivo, 'Sin motivo') AS Motivo
FROM
DiasMes
LEFT JOIN ConsultaCalendarioVisitas AS Clientes
ON DiasMes.Dia = Clientes.Dia;
Explicación:
Se usa un LEFT JOIN para asegurar que todos los días del mes aparezcan, incluso si no tienen visitas.
Nz reemplaza valores nulos con texto predeterminado, como "Sin visitas".
Guarde esta consulta como ConsultaUnionCalendario.
5. Crear un reporte estilo calendario
Vaya al asistente para reportes y seleccione la consulta ConsultaUnionCalendario.
Diseñe el reporte con un formato de cuadrícula (7 columnas para los días de la semana y hasta 6 filas para semanas).
Configure los días de la semana como encabezados de columnas (Lunes, Martes, etc.).
En cada celda, agrega los campos:
Día: para mostrar el número del día.
Cliente: para mostrar los clientes programados.
Motivo: para incluir detalles.
6. Formato final
Aplique formato para que el reporte sea amigable:
Coloree celdas alternas.
Ajuste fuentes y alineación.
Agregue un encabezado con el mes y año seleccionado.