在Access中向每个用户发送他们自己的电子邮件PDF报告

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

我从本网站上的另一个问题中查找了下面的代码并尝试将其应用到我自己的网站上,但无济于事 - 我正在尝试通过电子邮件发送我的报告的pdf给每个用户,其中只包含其中的特定信息。如果有15个用户,则会发送15个不同的电子邮件,仅包含其信息。很感谢任何形式的帮助。

Option Compare Database


Sub Mac1()
Dim rsAccountNumber As DAO.Recordset

Set rsAccountNumber = CurrentDb.OpenRecordset( _
    "SELECT DISTINCT AccountNumber FROM UnAffirmed_Report_for_En Query")

With rsAccountNumber

    Do Until .EOF

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

        DoCmd.OutputTo acOutputReport, _
            "Unaffirmed Report", _
            acFormatPDF, _
            "C:\users\rv\folder_name" & !AccountNumber & ".pdf"

        DoCmd.Close acReport, "Unaffirmed Report", acSaveNo

        .MoveNext

    Loop

    .Close

End With
End Sub

但是当我这样做时,我收到运行时错误'3075':

查询表达式'AccountNumber = 1RV80014'中的语法错误(缺少运算符)

帐号#是有效的,但不确定为什么我会被困在这里或如何解决它 - 超级新手。

email ms-access pdf access-vba report
1个回答
0
投票

您的帐号是字符串1RV80014,而您的Where condition:="AccountNumber = " & !AccountNumber表示整数。所以将它改为String Where condition:= "AccountNumber = '" & !AccountNumber & "'"

© www.soinside.com 2019 - 2024. All rights reserved.