Pass OpenArgs from the switchboard to the opened form as follows:
Private Sub cmdOption1_Click()
DoCmd.OpenForm "Form1",,,,,,"Option1"
End Sub
Private Sub cmdOption1_Click()
DoCmd.OpenForm "Form1",,,,,,"Option2"
End Sub
Note: As you type in the DoCmd commands above, you'll see that "Option1" and "Option2" are located in the OpenArgs clause of the command.
In the OnOpen event of the form that is opening (Form1 in the example above), use the OpenArgs to control visibility of the field in question. For example:
If Me.OpenArgs = "Option1" then
Me.Field1.Visible = True
ElseIf Me.OpenArgs = "Option2" Then
Me.Field1.Visible = True
End If
Alternatively (and more efficiently) just put the OpenArgs clause in one of the switchboard buttons and test for it in the OnOpen of "Form1". For example:
If Me.OpenArgs = "Option1" then
Me.Field1.Visible = True
Else
Me.Field1.Visible = False
End If
Note that if you're creative, you can use this method to pass any number of "arguments" (values) to a form or report. For example:
DoCmd.OpenForm "Form1",,,,,,"1:Arg1,2:Arg2,3:Arg3"
The value of Arg2 is culled out of the OpenArgs string as follows:
strOpenArg2 = Mid(Me.OpenArgs,InStr(Me.OpenArgs,"2:"

+2,InStr(Me.OpenArgs,"3:"

-1)
To see how this works, check out help for the Mid() and InStr() functions.
Once you've set strOpenArg2 to the value "Arg2", then you can use it wherever you need to in "Form1".