Solved

Continuation Access Freezes with email is not sent on second iteration

Posted on 2016-08-31
3
51 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
  • 2
3 Comments
 
LVL 4

Accepted Solution

by:
bfuchs earned 500 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

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

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

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

808 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