Ovvio che non funziona… ;-)
Se si ragiona su come è strutturata una Relazione Form/SubForm e come Access gestisce i dati è evidente capire che appena si sposta il focus dalla SubForm alla Form, i dati della Form che sono legati da una Transazione al Record della Form(lato 1) hanno subito il COMMIT, quindi salvati.
Nella sostanza puoi fare l'UNDO solo se dall'interno della SubForm non hai ancora generato il SAVE, allora è possibile fare l'UNDO.
Chiaro che, se il Pulsante di UNDO si trovasse nella Form oppure tu spostassi il Focus in un controllo nella FORM il tutto non funzionerebbe più, e questo rende sostanzialmente ingestibile questa strada ovviamente.
Nella pratica non è fattibile, ci sono alcune opzioni per farlo che prevedono l'uso di Recordset, ma complica molto le cose soprattutto per chi non ha sufficiente conoscenza del mezzo.
Il metodo più funzionale in questi casi è lavorare in modalità SCONNESSA con la SubForm, ovvero su Current della Form si caricano i dati della tabella lato MOLTI e si popola la SubForm in modo NON ASSOCIATO, ma in quel caso serve gestire da codice tutto il pacchetto dati della SubForm sia per EDIT/NEW/UNDO ecc… tuttavia questa è la strada migliore.
Questo è un articolo che spiega qualche concetto e da un suggerimento… da prendere con le pinze.
https://vb123.com/undo-in-sub-forms/