One way to handle this is to pass more information in the OpenArgs.
Example:
DoCmd.OpenForm "frmEmail", , , , acFormAdd, , "ProductionID," & Me.[ProductionID]
and
DoCmd.OpenForm "frmEmail", , , , acFormAdd, , "MeetingID," & Me.[MeetingID]
Then use this:
Private Sub Form_Load()
Dim strControlName as String
Dim lngID as Long
If Not IsNull(Me.OpenArgs) Then
' retrieve the control name from the OpenArgs
strControlName = Left(Me.OpenArgs, Instr(Me.OpenArgs(), ",") -1)
' Retrieve the ID from OpenArgs
lngID = Mid(Me.OpenArgs,Instr(Me.OpenArgs(), ",")+1)
'Go to a new record
DoCmd.GoToRecord , , acNewRec
' set the control with the ID
Me(strControlName = lngID
End If
End Sub