Il pezzo di codice sottostante potrebbe adattarsi al tuo problema dopo
avere modificato opportunamente i nomi dei campi.
__________________________________________________ ________
Ti ripeto pero che il risultato dipense dalla complessita
della maschera e sottomaschere
__________________________________________________ _________
Si tratta comunque di operazioni semplici che puo fare benissimo
una macro pertanto io te la consiglio almeno in fase iniziale
e quando arrivi al tuo risultato c'e una funzione particolare
che a partire dalla macro ti scrive il codice VBA automaticamente
pertanto dopo le prove puoi andare solo a VBA
codice:
Private Sub GGG_AfterUpdate()
'__________________________________________________________
' ID è un controllo qualunque della maschera principale A
' cominciamo a uscire dal controllo appena modificato
DoCmd.GoToControl "ID"
' Su modifica del campo GGG dopo deve salvare sul DB quello che vedi a video
DoCmd.RunCommand acCmdSaveRecord
'____________________________________________________________
' Siamo nella maschera principale e la riaggiorna genericamente
DoCmd.Requery ""
' Siamo nella maschera principale e riaggiorna specificamente il campo GGG
DoCmd.Requery "GGG"
'______________________________________________________________
' Si sposta nella sottomaschera con origine B e nome FiglioB
DoCmd.GoToControl "FiglioB"
' riaggiorna genericamente FiglioB
DoCmd.Requery ""
' Riaggiorna un campo specifico di figlio B
DoCmd.Requery "GGGb"
'________________________________________________________
' Si sposta nella sottomaschera con origine C e nome FiglioC
DoCmd.GoToControl "FiglioC"
DoCmd.Requery ""
DoCmd.Requery "GGGc"
'________________________________________________________
' Si sposta nella sottomaschera con origine D e nome FiglioD
DoCmd.GoToControl "FiglioD"
DoCmd.Requery ""
DoCmd.Requery "GGGd"
'________________________________________________________
' Si sposta nella sottomaschera con origine E e nome FiglioE
DoCmd.GoToControl "FiglioE"
DoCmd.Requery ""
DoCmd.Requery "GGGe"
'________________________________________________________
' Si sposta nella sottomaschera con origine F e nome FiglioF
'Attento questa è una sottomaschera di FiglioE percio prima
'devi essere dentro in FiglioE diveramente ti va in errore
DoCmd.GoToControl "FiglioF"
DoCmd.Requery ""
DoCmd.Requery "GGGf"
'____________________________________________________________
'____________________________________________________________
'____________________________________________________________
' Se hai sempre un record successivo te la puoi cavare solamente
' con le 2 righe qui sotto che ti mandano al successivo e poi ti
' ritornano al precedente che viene aggiornato vel cambio
DoCmd.GoToRecord , "", acNext
DoCmd.GoToRecord , "", acPrevious
End Sub