Regarding the constant, acCmdSaveRecord, June is correct. If you are getting an error on that line, it may be because you do not have focus on the form object. So maybe
Me.SomeControlName.SetFocus
DoCmd.RunCommand acCmdSaveRecord
or use
Me.Dirty = False
However, I just realized you are using the BeforeUpdate event. This may be causing the error by itself. The form is already in the process of updating itself so no need to call the save.
I would start by commenting out the code to send the report and concentrate on saving/committing the record to the table first. You have a couple of issues here and are trying to accomplish too much in one block of code. Split it up.
Maybe something like this for your BeforeUpdate event handler would be more appropriate.
Code:
Dim intResponse As Integer
intResponse = MsgBox("Do you want to save the changes made to this record?", vbYesNo + vbDefaultButton2 + vbQuestion, "Save Changes")
If intResponse = vbNo Then
Cancel = True
End If