Avatar of Mike Rudolph
Mike Rudolph
Flag for United States of America asked on

Continuation Access Freezes with email is not sent on second iteration

Dear Experts,

This is a follow on question to the one posted here:
https://www.experts-exchange.com/questions/28966302/Access-freezes-when-user-does-not-send-email.html

Seems that when the user attempts to send an email but closes the email dialogue box the first time no problem! This was the initial fix I was looking for. However, if the user (an this happened) attempts to send an email (once and the closes) and then again attempts to send an email then closes the dialogue box again I get the same error and the application freezes.

In fact, the user sends an email successfully then attempts send another one but closes the dialogue box the application freezes. So for whatever reason the error capture works the first time but not subsequent times. In fact, I pressed on the onclick event, then close the mail dialogue box without sending. Then I close the form to see if this would reset things but when I attempted to send another email message but instead closed the mail MS outlook dialogue box the application once again freezes.

I must need to 'reset' something after the first attempt but not certain what that needs to be. Attached are screenshots of the errors I am getting.

When i close the ms outlook dialogue box for the second time
When i close the ms outlook dialogue box for the second time
When I try to close the application after the error message
When I try to close the application after the error message
Microsoft Access

Avatar of undefined
Last Comment
Mike Rudolph

8/22/2022 - Mon
ASKER CERTIFIED SOLUTION
bfuchs

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
Mike Rudolph

ASKER
Yeah....I think I am doing this right. If you look at the link above I used the code provided in the previous discussion block:

Public Sub SendEmail(pName As String)

  On Local Error GoTo LocalError
              
  Dim School As String
  Dim mailto As String
  Dim ccto As String
  Dim bccto As String
  Dim TeacherName As String
  Dim mailsub As String
  
  School = Nz(DLookup("tblSettingsSchool", "tblSettings"), 0)
  TeacherName = Nz(DLookup("teacherName", "tblTeacher"), 0)
  mailto = Me.studentParentEmail
  ccto = ""
  bccto = ""
  mailsub = "Recent Student Report from " & TeacherName & " at " & School
  emailmsg = _
    "Hello " & pName & "!" & vbNewLine & vbNewLine & _
    "Please find your child's student report from " & TeacherName & " at " & School & " attached!" & vbNewLine & vbNewLine & _
    "Thank you!"
  
  DoCmd.SetWarnings (False)
  DoCmd.OpenReport "rptStudentReport", acViewPreview, , "[studentID] = '" & [studentID] & "'"
  DoCmd.SendObject acSendReport, , acFormatPDF, mailto, ccto, bccto, mailsub, emailmsg, True
  DoCmd.Close acReport, "rptStudentReport", acSaveNo
  DoCmd.SetWarnings (True)
  Exit Sub
  
ProcExit:
  DoCmd.Close acReport, "rptStudentReport", acSaveNo
  DoCmd.SetWarnings (True)
  Exit Sub
  
LocalError:
    If Err.Number = 2501 Then
        Resume Next
    Else
        MsgBox Err.Description
        Resume ProcExit
    End If
        
End Sub

Private Sub cmdEmailParent_Click()
  
  Dim pName As String
  
  pName = InputBox("Enter the parent's name", "SEND EMAIL TO PARENT")
  If pName <> vbNullString Then
    SendEmail pName
  End If
         
End Sub

Open in new window


And even with I can the error ONLY on the second and subseqent cancellations. If I close the MS Outlook dialogue box the first time the error is trapped and all is good. But if I try it again then the application freezes. There must be a 'reset' somehow so the trapping works over and over again.
Mike Rudolph

ASKER
Thanks! So you the trap works but in this case the solution was actually to take the form out of popup mode and keep modal. Once I did that the erorr when away on the second and subsequnt cancellations. Thanks again!
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck