Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Continuation Access Freezes with email is not sent on second iteration

Posted on 2016-08-31
3
Medium Priority
?
74 Views
Last Modified: 2016-09-03
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
0
Comment
Question by:shogun5
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 4

Accepted Solution

by:
bfuchs earned 2000 total points
ID: 41778741
I use error trapper like below w/o problems

On Error GoTo SendEmailErr

    DoCmd.SendObject , , , sEmail, , , sType & "(s) " & sAppDen & ". (Testing)", s, True
SendEmailExit:
    Exit Sub
    
SendEmailErr:
If Err.Number = 2501 Then
Resume Next
Else
MsgBox Err.Description
Resume SendEmailExit
End If

Open in new window

0
 

Author Comment

by:shogun5
ID: 41778931
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.
0
 

Author Closing Comment

by:shogun5
ID: 41782815
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!
0

Featured Post

Tech or Treat! - Giveaway

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Access custom database properties are useful for storing miscellaneous bits of information in a format that persists through database closing and reopening.  This article shows how to create and use them.
Explore the ways to Unlock VBA Project Password Excel 2010 & 2013 documents. Go through the article and perform the steps carefully to remove VBA Excel .xls file.
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

609 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question