Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 通过电子邮件向每个帐户发送其自己的pdf报告,以获取运行时错误3265_Vba_Loops_Email_Ms Access_Recordset - Fatal编程技术网

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

Vba 通过电子邮件向每个帐户发送其自己的pdf报告,以获取运行时错误3265,vba,loops,email,ms-access,recordset,Vba,Loops,Email,Ms Access,Recordset,请参阅下面返回运行时错误3265的代码,该错误由以下行引起: strTo=!电邮地址1 但是,如果我把它改成 strTo=!AccountNumber它将正确填充到outlook电子邮件收件人:行中,但我需要电子邮件地址,而不是帐号-我需要定义电子邮件地址1吗?它是我的查询/报告中的一个短文本字段。如果是,我如何定义它?全新的访问 Option Compare Database Sub Mac1() Dim rsAccountNumber As DAO.Recordset Di

请参阅下面返回运行时错误3265的代码,该错误由以下行引起: strTo=!电邮地址1

但是,如果我把它改成 strTo=!AccountNumber它将正确填充到outlook电子邮件收件人:行中,但我需要电子邮件地址,而不是帐号-我需要定义电子邮件地址1吗?它是我的查询/报告中的一个短文本字段。如果是,我如何定义它?全新的访问

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
在选择列表中,您应指定电子邮件地址1字段,以便:
查询选择中缺少字段“电子邮件地址1”。你只要取一个帐号。因此,将缺少的字段添加到查询中。如果不明确,则在基本查询上进行连接。Queryname似乎错误,包含空格。如果是这样,用方括号括起来!查询名称有效-我的查询中有字段,我还需要加入吗?啊,你添加了换行符。请使用u,以便其他人可以复制和粘贴您的代码。仅当AccountNumber和2不区分时才需要联接。field.ive更改为以下内容,但我现在收到运行时错误3016:参数太少。预期1。设置rsAccountNumber=CurrentDb.OpenRecordset uu从P3选择不同的帐号、电子邮件地址1\u DVP\u未确认的\u报告\u用于查询如何添加dbOpenSnapShot?您不必添加dbOpenSnapShot,但如果需要,我编辑了我的答案。坚持您的原始语法,仍然可以工作get-receive运行时错误3016:参数太少。预期1-我是否需要为电子邮件地址1使用DIM?看起来就像我在:AccountNumber,field之后使用的任何字段都只返回相同的错误消息no,这是从查询返回的字段。为了让VBA断线,我们使用了一个空格,所以我再次编辑了我的答案
     Set rsAccountNumber = CurrentDb.OpenRecordset("SELECT DISTINCT AccountNumber, email_address1 FROM [P3_DVP_UnAffirmed_Report_for_En Query]",dbOpenSnapShot)