For a start I would single out this action and place in a new macro. Then convert the macro to vb code.
In the converted macro module
If would validate both the sender and receiver email addresses first. before I attempt to use the send object.
Code:
Dim Sender as String
Dim Recepient As String
Dim UMsge As String
Sender = Nz(DLookUp("[E-Mail Address]" , "Contacts" , "ID=" & [Assigned To] ),"0")
If Sender = "0" Then
'No sender email address. No point in doing anything else so exit sub
Exit Sub
Endif
Recepient = Nz(DLookUp("[E-Mail Address]" , "Contacts" , "ID=" & [Opened By]),"0")
If Receepient = "0" Then
'No Receipent email address. No point in doing anything else so exit sub
Exit Sub
Endif
UMsge = "QC Clippership Request " & .ID & ": " & .Title, "Hello" & VbCrLf & "I am requesting a QC that contains" & .[File Count]
& "," & .[Record Count]
& "records and needs to be completed by" & " " & .[Due Date]
& ". All Appropiate information be found" & .[Checklist Location] & VbCrLf
'So now we know we have a sender and recipient and a message we can now use the send object
DoCmd.SendObject,"",Sender,Recipient,"",UMsge,True,""
Then use the RunCommand and call the function/Sub
The reason being that if either no sender or receiver is found then the macro will error
This is all aircode and untested
David