Apart from 3 command buttons which just move to the next and previous record or close the form (for which there is no delay) there is only this code on the after update event of one field - there is also a delay when updating this field. It auto-creates an email based on the info on the form.
It may be more long-winded than it needs to be - what do you think.
Private Sub chkReport_AfterUpdate()
Dim strdate As Date
Dim stroffice As String
Dim strReportedOn As Date
Dim strHall As String
Dim strcategory As String
Dim strdetails As String
Dim strOS As String
strdate = Now()
stroffice = Me.cboOffice
strHall = Me.cboFloor_Hall
strReportedOn = Me.txtDate
strcategory = Me.cboCategory
strdetails = "Feedback received from staff on" & " " & strReportedOn & " " & "as follows" & vbCrLf & vbCrLf
strdetails = strdetails & stroffice & " " & strHall & vbCrLf & vbCrLf
strdetails = strdetails & Me.txtdetails
strdetails = strdetails & vbCrLf & vbCrLf & "Thanks" & vbCrLf
strdetails = strdetails & vbCrLf & cboOS
strOS = Me.cboOS
If Me.chkReport.Value = -1 Then
DoCmd.GoToControl "txtDateReported"
Me.txtDateReported.Value = strdate
DoCmd.SendObject , , , "john.smith@xxx.co.uk", , , "For information/" & stroffice & "/" & strcategory, strdetails, True
End If
End Sub