Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba ma访问:sendobject出错返回表单_Vba_Ms Access - Fatal编程技术网

Vba ma访问:sendobject出错返回表单

Vba ma访问:sendobject出错返回表单,vba,ms-access,Vba,Ms Access,我有一个没有问题的数据库,但是当用户退出电子邮件而不是通过电子邮件发送报告时,会出现一个错误。现在代码显示: DoCmd.SendObject acSendReport, "AUS_Main", acFormatPDF, "heather@gmail.com", , , _ "AUS Checklist and Orders", "My AUS checklist and orders are attached." DoCmd.Quit acQuitSaveAll On Er

我有一个没有问题的数据库,但是当用户退出电子邮件而不是通过电子邮件发送报告时,会出现一个错误。现在代码显示:

DoCmd.SendObject acSendReport, "AUS_Main", acFormatPDF, "heather@gmail.com", , , _
     "AUS Checklist and Orders", "My AUS checklist and orders are attached."
DoCmd.Quit acQuitSaveAll

    On Error GoTo Trap

Leave:
    On Error GoTo 0
    Exit Sub

Trap:
    If Err.Number <> 2501 Then MsgBox Err.Description, vbCritical
    Resume Leave

End Sub

DoCmd.SendObject acSendReport,“AUS_Main”,acFormatPDF,“heather@gmail.com", , _
“澳大利亚检查表和订单”,“我的澳大利亚检查表和订单随附。”
DoCmd.退出收购所有
关于错误跳转陷阱
离开:
错误转到0
出口接头
陷阱:
如果错误号为2501,则MsgBox错误说明,vbCritical
复假
端接头

我希望程序返回到最后一个表单“15_End”,如果用户退出而不发送,允许他们在意识到报告不正确时进行更改。如果他们确实发送,我希望它按原样继续,并退出数据库。

确保VBE配置为在未处理错误时中断

工具>>选项>>常规>>错误捕获

然后只需管理方法中的2501-操作取消错误:

Sub Whatever()
    On Error GoTo Trap

    With DoCmd
        .SendObject acSendReport, "AUS_Main", acFormatPDF, "heather@gmail.com", , , _
                                  "AUS Checklist and Orders", "My AUS checklist and orders are attached."
        .Quit acQuitSaveAll
    End With

Leave:
    On Error GoTo 0
    Exit Sub

Trap:
    If Err.Number <> 2501 Then MsgBox Err.Description, vbCritical
    Resume Leave
End Sub 
Sub-where()
关于错误跳转陷阱
与DoCmd
.SendObject acSendReport,“AUS_Main”,acFormatPDF,“heather@gmail.com", , _
“澳大利亚检查表和订单”,“我的澳大利亚检查表和订单随附。”
.退出收购
以
离开:
错误转到0
出口接头
陷阱:
如果错误号为2501,则MsgBox错误说明,vbCritical
复假
端接头

看看这个:不太管用。如果我退出电子邮件,它仍然会弹出2501错误弹出框…当底部部分显示“继续离开”时,离开部分指示了什么?离开部分是程序的退出。如果发生错误,它将继续从错误处理程序退出。你能把完整的代码贴出来吗?代码对我有用。编辑问题以显示您的实际代码。这是否回答了您的问题?