Il tempo di inattività passa per un'attivazione dell'evento TIMER dopo aver impostato un TimerInterval di buonsenso, quindi 5secondi... o maggiore.
Nell'evento devi verificare, e memorizzare, ad esempio il Controllo con il Focus, che si ricava con Screen.ActiveControl.
Se al successivo EVENTO è sempre lui, è indice di INATTIVITA', quindi inizi ad INCREMENTARE un COUNTER definito STATIC nella Sub Evento o definito a livello di Maschera.
Sapendo che il controllo è fatto ogni 5sec(n) definisci il tempo ragionevole di Inattività, ipotiziamo 60sec, quindi il Counter sarà arrivato a 6, a quel punto chiudi la Form.
Devi guardare anche la Form Attiva... se la form attiva fosse altra, e questo lo devi sapere tu come gestisci le form, devi contemporaneamente controllare FormAttiva e ControlloAttivo, in quanto se la Form non è attiva, a vantaggio di altre potresti avere qualche problema...
Quì trovi alcuni esempi:
https://www.access-programmers.co.uk/forums/threads/autokick-when-idle-code.115829/
https://bytes.com/topic/access/answers/944998-how-close-form-after-certain-time-inactivity
Saluti