Leonardo: Entre otras soluciones que pueda haber te sugiero la siguiente:
En el Formulario principal, o en otro que ocultes pones una "Etiqueta", que se llame por ejemplo >> EtiReloj.
Copias o adaptas éste código a tu horario..
Option Compare Database
Option Explicit
Dim LaHoraActual As Date
Private Sub Form_Timer()
Me.EtiReloj.Caption = Format(Time(), "hh:mm:ss AM/PM") 'Si se quiere puede estar Oculta
LaHoraActual = FormatDateTime(Time(), vbShortTime)
Dim HIniAvisos As Date, HFinAvisos As Date
HIniAvisos = #8:25:00 PM#
HFinAvisos = #8:35:00 PM#
'Comenzamos a avisar 5 Minutos antes y acabamos 5 minutos después
If LaHoraActual > HIniAvisos And LaHoraActual < HFinAvisos Then
MsgBox "Es tiempo de CERRAR la Aplicación", vbCritical, "HORA DE CIERRE"
Else
'De momento aquí seguimos el Proceso
End If
'Ahora sondeamos si la Hora pasa de las 20:30 cerramos la Aplicación
'Nota >> Hay que tener en cuenta que de ésta manera, la Aplicación arrancará pero se volverá a cerrar si pasan las 20:35
'Por tanto éste mensaje se puede cambiar por otro y
If LaHoraActual > HFinAvisos Then
MsgBox "La Aplicación se cerrará después de éste Mensaje", vbCritical, "CIERRE INMEDIATO"
DoCmd.Quit
End If
End Sub
Recuerda que has de activar en las Propiedades (del Formulario) >>Pestaña Eventos >> Al Cronómetro el [Procedimiento de Evento]
Inmediatamente debajo, en >> Intervalo de Cronómetro, donde seguro habrá un cero
Ajustas el tiempo que quieras para que se vaya disparando el Mensaje.
Ten en cuenta que 1000 = 1 segundo, por lo que una cifra de 30000 serían 30 segundos.
Ya me contarás. Saludos >> Jacinto