通过电子邮件向每个帐户发送自己的pdf报告,运行时间错误3265

问题描述 投票:0回答:1

请参阅以下代码,该代码返回运行时错误3265,原因在于:strTo =!email_address1

但是,如果我将其更改为strTo =!AccountNumber,它将在outlook电子邮件中填充:正确排队但我需要电子邮件地址,而不是帐号 - 我是否需要定义email_address1?它是我的查询/报告中的短文本字段。如果是这样,我该如何定义它?完全新的访问。

Option Compare Database

Sub Mac1()
    Dim rsAccountNumber As DAO.Recordset
    Dim strTo As Variant
    Dim strSubject As String
    Dim strMessageText As String

    Set rsAccountNumber = CurrentDb.OpenRecordset("SELECT DISTINCT AccountNumber, email_address1 FROM [P3_DVP_UnAffirmed_Report_for_En Query]", dbOpenSnapshot)

    With rsAccountNumber

        Do Until .EOF

        DoCmd.OpenReport "Unaffirmed Report", _
            acViewPreview, _
            WhereCondition:="AccountNumber = '" & !AccountNumber & "'", _
            WindowMode:=acHidden

        strTo = !Email_Address1
        strSubject = "Invoice Number "
        strMessageText = "Text Here"


        DoCmd.SendObject ObjectType:=acSendReport, _
            ObjectName:="Unaffirmed Report", _
            OutputFormat:=acFormatPDF, _
            To:=strTo, _
            Subject:=strSubject, _
            MESSAGETEXT:=strMessageText, _
            EditMessage:=True


    DoCmd.Close acReport, "Unaffirmed Report", acSaveNo


    .MoveNext

Loop

.Close

End With
End Sub
vba loops email ms-access recordset
1个回答
1
投票

SELECT列表中,您应指定email_address1字段,以便:

     Set rsAccountNumber = CurrentDb.OpenRecordset("SELECT DISTINCT AccountNumber, email_address1 FROM [P3_DVP_UnAffirmed_Report_for_En Query]",dbOpenSnapShot)
© www.soinside.com 2019 - 2024. All rights reserved.