Apri la maschera di cui parli in modalità acDialog, in quel modo l'azione diventa SINCRONA e, quando la chiudi il codice torna alla Routine chiamante che quindi è sincronizzata.
DoCmd.OpenForm "NomeForm", , , , , acDialog
Me.NomeSubForm.Form.Requery
Se poi devi accedere alla Form Popup per recuperarne dei dati c'è un metodo abbastanza banale...
Questo il codice lato Maschera chiamante:
If CurrentProject.AllForms("NomeForm").IsLoaded Then
' Quì accedi alla Form es:
NomeVariabile = Forms("NomeForm")!NomeControllo.Value
DoCmd.Close acForm, "NomeForm"
End If
Mentre lato Maschera Chiamata:
Private Sub Form_Unload(Cancel As Integer)
Cancel = Me.Visible
Me.Visible = False
End Sub
In questo modo la Form chiamata, diventa NON VISIBILE ma rimane aperta, quindi puoi accedervi, e poi la chiudi.
Vedi tu...
@Alex