2015-04-27 3 views
0

Я создал форму, которая при нажатии командной кнопки создает и отправляет электронное письмо и отправляет электронное письмо. Но когда страница электронной почты появляется и пользователь выходит из письма без отправки сообщения, появляется сообщение 2501. Кто-нибудь знает, как предотвратить эту ошибку, просто появив окно сообщения, информирующее пользователя, что письмо было отменено?Предотвращение ошибки 2501

Заранее спасибо

Это то, что я до сих пор:

On Error GoTo errhandle 
Me.Filter = "CurrentDate= #" & Format(Me!CurrentDate, "yyyy\-mm\-dd") & "# and DiscoverTime= '" & Me!DiscoverTime & "' and TailNumber= '" & Me!TailNumber & "' and FleetID= '" & Me!FleetID & "'" 
Me.FilterOn = True 
DoCmd.SendObject acSendForm, "frmETIC", acFormatPDF, "Email", "", "", "Recovery Report", "Attached is the submitted Recovery Report" 

DoCmd.Close acForm, "frmETIC", acSaveNo 
DoCmd.OpenForm "frmETIC", acNormal, , , acFormEdit, acWindowNormal 
End If 

errhandle: 
If Err.Number <> 2501 Then 
MsgBox ("Email Cancelled") 
DoCmd.Close acForm, "frmETIC", acSaveNo 
DoCmd.OpenForm "frmETIC", acNormal, , , acFormEdit, acWindowNormal 
End If 

ответ

1

У вас есть обратная логика. Выброшенная ошибка - 2051, поэтому вы должны проверить эту ошибку не <>. Также, пожалуйста, используйте полный код, таким образом, легче дать правильное решение. Вот модифицированный код, который будет работать.

On Error GoTo errhandle 
    'Your If is missing here. 
     Me.Filter = "CurrentDate= #" & Format(Me!CurrentDate, "yyyy\-mm\-dd") & "# and DiscoverTime= '" & _ 
        Me!DiscoverTime & "' and TailNumber= '" & Me!TailNumber & "' and FleetID= '" & Me!FleetID & "'" 
     Me.FilterOn = True 
     DoCmd.SendObject acSendForm, "frmETIC", acFormatPDF, "[email protected]", "", "", "Recovery Report", "Attached is the submitted Recovery Report" 

     DoCmd.Close acForm, "frmETIC", acSaveNo 
     DoCmd.OpenForm "frmETIC", acNormal, , , acFormEdit, acWindowNormal 
    End If 

exitErr: 
    Exit Sub 
errhandle: 
    If Err.Number = 2501 Then 
     MsgBox ("Email Cancelled") 
     DoCmd.Close acForm, "frmETIC", acSaveNo 
     DoCmd.OpenForm "frmETIC", acNormal, , , acFormEdit, acWindowNormal 
    Else 
     MsgBox "Error (" & Err.Number & ") - " & Err.Description & " Occurred." 
    End If 
    Resume exitErr 
+0

Большое вам спасибо! Это отлично работает –

+0

Рад помочь :) – PaulFrancis

+0

Можете ли вы сделать мне одолжение и вытащить этот адрес из кода, который вы отправили, хотя ...:/so sorry –

Смежные вопросы