You didn't use the wherecondition of OpenForm to open the popup to the desired record. You're trying to pass the value back and forth, which isn't as flexible as you're looking for. Where do you pass the value back to? You'd need to change that dynamically.
I mentioned passing the field name, not the value, and then using that to set the control source of the textbox. I mentioned the open event, not the load event.
The code to call it would look like:
Code:
Private Sub We02_DblClick(Cancel As Integer)
If Me.Dirty Then Me.Dirty = False
DoCmd.OpenForm "frm_TextEditor", , , "MBRID = " & Me.MBRID, , acDialog, "We02"
End Sub
You missed the dialog setting, which will prevent the user from dirtying both forms. The code in the open event:
Code:
Private Sub Form_Open(Cancel As Integer)
If Not IsNull(Me.OpenArgs) Then
Me.Text2.ControlSource = Me.OpenArgs
End If
End Sub
And since your form can contain multiple records, a requery would return it to the first, so I switched to refresh:
Code:
If Me.Dirty Then Me.Dirty = False
Forms!frm_BP10_Tablet_ViewMBR.Refresh
DoCmd.Close acForm, Me.Name
Off to lunch!