错误 ms 访问 vba 电子邮件报告

Posted

技术标签:

【中文标题】错误 ms 访问 vba 电子邮件报告【英文标题】:Errors ms access vba email report 【发布时间】:2019-11-20 22:41:31 【问题描述】:

我在运行此代码时不断收到错误消息。

Sub SendEmailMaturing()
    Dim rs As DAO.Recordset
    Dim db As Database
    Dim strSQL As String

    Set db = CurrentDb

    strSQL = "SELECT * FROM qRespCodeEmail"
    Set rs = CurrentDb.OpenRecordset(strSQL)

    If Not rs.BOF And Not rs.EOF Then
        rs.MoveFirst
        Do While Not rs.EOF
            'Debug.Print rs.Fields("RMName")
            DoCmd.OpenReport "Maturing Loans in 90", acViewPreview, , "RespName = " & rs!RMName
            DoCmd.SendObject acSendReport, "Maturing Loans in 90", acFormatPDF, rs!Email, , , "Maturing Loans", "Kindly take a look and send me an update on the status of matured loans.", True
            DoCmd.Close acReport, "Maturing Loans in 90", acSaveNo

            rs.MoveNext
        Loop
    End If

    rs.Close
    Set rs = Nothing
End Sub

【问题讨论】:

你有没有尝试过? 我尝试了很多东西但没有成功 当您在 *** 上提出问题时,您应该展示您的工作和尝试过的内容,包括您遇到的确切错误。 您收到了哪个错误?在哪一行代码中? 【参考方案1】:

如果您要过滤文本字段,请使用撇号分隔符作为参数:

DoCmd.OpenReport "Maturing Loans in 90", acViewPreview, , "RespName = '" & rs!RMName & "'"

日期/时间字段使用#,数字类型不使用。

可以通过在 SQL 语句中仅包含必要的字段来减少提取的数据量。看来您只需要 RMName 和电子邮件。

【讨论】:

以上是关于错误 ms 访问 vba 电子邮件报告的主要内容,如果未能解决你的问题,请参考以下文章

使用 VBA 禁用 Outlook 安全设置

在 MS Outlook 中,报告所有未收到回复的已发送消息

如何使用 VBA 识别 MS Outlook 中的日历条目?

使用 VBA 从 MS Access 发送电子邮件

在 ms 访问报告 vba 中复制报告字段

如何使用 MS Access 基于变量发送带有附加报告的自定义电子邮件? 2003 年或 2007 年