hmmmmmmmmmmmmmmmmmmmm ... mmmmmmmmmmmmmmm
(At least) Two questions re communication between forms. Mayhap they are related? If so, the questions might be quite a bit easier to answer if the overall situation were in a single thread.
On the otherhand, I'll take a QUICK stab at an approach.
To be able to references any / all controls on a form, all you need is a reference to the form. so, asuming that "Form1" is the first object and "Form2" is the second one. Send some information to Form2 in its open arg(s). It could be the Form, or one of the controls, although the technique for dealing with the controls on Form1 (from Form2) will vary slightly and it is a lot easier if the type of the argument is known at design time. For the moment, assume that you instantiate Form2 from Form1 with a single value in the OpenArgs, as a name of the form itself. Assuming Form2 in instantiated with the standard DoCmd.OpenForm "Form2", OpenArgs: = Me.Name
Form2 can immediatly reference the form itself as ComesFrom = Forms(OpenArgs).Name (or in the immediate window - ? Forms(OpenArgs).Name which returns the NAME of Form1. Further, it is now apparent that the controls of Form1 can also be references as in ? Forms(OpenArgs).Controls.Count, and a simple loop could be used to enumerate the controls them selves, and their properties and values. Thus, the prudent user having used a reasonable naming convention is easily able to discern the check boxes from the label (and other controls simply using theur name property (whilst - of course the lazy and hurried programmer must wend their way a level or so deeper investigating the ControlType property - but that belongs to another discussion). Thus being able to discern the controls of interest, their values are correspondingly just their default property.
Alternativly, the control NAME is passed in a similar manner. The use of the controls's PARENT property returns the form name and the remainder of the controls and their properties are available as noted above.
MichaelRed