Vamos a ver si me explico. El problema de trabajar con hora, minutos y segundos es que en realidad son decimales de día. Por eso quizá sería mejor que usaras simplemente un cuadro de texto con números, por ejemplo
Supongamos que tengo el formulario,( la pena es que no te puedo poner un vídeo para que veas como disminuye y se cierra)
Cada segundo va bajando( el cuadro de texto se llama Restante, y el código del formulario es
Private Sub Form_Current()
Restante = 10
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
Restante = Restante - 1
If Restante =0 Then
DoCmd.Close
End If
End Sub
En caso de que quieras mantener el formato hora larga
El código tendrías que ponerlo como
Private Sub Form_Current()
Restante = #12:00:10 AM#
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
Restante = Restante - 0.00001157
If Restante < #12:00:00 AM# Then
DoCmd.Close
End If
End Sub
Dependiendo de la configuración del ordenador 12:00:10 AM equivale a 00:00:10 y como los segundos son decimales de día el valor real de un segundo es 0....lo que ves.
El inconveniente de trabajar con esto es que como decimales pueden ser ciento y la madre( en este caso sólo uso 8), nunca llega exactamente a 0, por eso le pongo que en cuanto sea menor se cierre. Y te garantizo que funciona perfectamente.