Oscar: Lo que comentas no es excesivamente complicado, pero si requiere cierta soltura en VBA.
Te comento los pasos y miras de aplicarles el Código. Parto de la base de que la consulta ya la tienes y que además sabes como ejecutarla.
1.- En el Formulario principal de tu aplicación, o en otro pero que abras cada día y dependiendo de la hora en la que quieras ejecutar la consulta, debes tenerlo abierto, aunque sea oculto.
1.1.- Al cargar disparar un evento Timer, que en éste caso puede tener un intervalo grande, 60000 por ejemplo.
2.- En ese evento Timer, y aunque parezca una redundancia, lo primero es establecer una rutina, para saber si la Consulta ya se ha ejecutado, para la Fecha del mes siguiente.
2.2.- Si no lo ha hecho, sondear si hoy es final de mes. Hay varias funciones en Internet y el propio Access.
2.3.- Si no se ha ejecutado la consulta y es fin de mes, sondear un rango de horario en el que queremos que se ejecute.
2.4.- Si está fuera de ese rango seguimos.
2.- Si estamos en ese rango "Ejecutamos la Consulta"
3.- Al volver al Inicio detectará que se ha ejecutado la Consulta.
Se puede mejorar y adornar el proceso, por ejemplo que el primer sondeo sea si estamos a fin de mes, si es así ponemos en marcha el Timer y si no no lo hacemos para evitar ese consumo de Recursos.
Hay más alternativas pero si comienzas y adelantas vemos de completar una y el resto vendrán casi solas. Mis saludos >> Jacinto