Prima di tutto dovremmo capire come apri la Maschera2... se POPUP si gestisce in modo diverso.
Personalmente quando i controlli hanno indice Numerico metto un UNDERSCORE... perchè aiuta a fare lo strip...!
Esempio:
Ret1
Ret15
Come fai a determinare l'indice del Premuto...? Io userei i Numeri del Nome ma avendo + di 9 Controlli non sai qual'è...
Quindi hai 3 Soluzioni:
1) Ret01 Ret02...Ret15 in questo modo sai che l'indice sono sempre 2 Caratteri e con Right(Screen.ActiveControl.Name) Ottieni l'indice.
2) Mettere un UnderScore... Ret_1 Ret_15, in questo modo usi il Char=Underscore per strippare l'indice
3) Usare la proprietà TAG...
Io OPTEREI per la 1°.
Detto questo se da Maschera1 premi Ret[n] ti basterà passare alla Funzione OpenForm, nel Parametro ARGS il numero del Rettangolo premuto...
docmd.OpenForm "Maschera2",,,,,,Right(Screen.ActiveControl,2)
A questo punto nella Maschera2, su Evento LOAD leggi la proprietà OpenArgs e trovi il valore del controllo passato.
Dim vVal As String
Private Sub Form_Load()
vVal=Me.OpenArgs
End Sub
Quindi su Evento UNLOAD e non close... meglio
Forms!MascheraA.Controls("Ret" & vVal).Value=True
Questo metodo lo puoi usare anche se la Maschera2 è Popup.