在Access

时间:2018-08-28 20:26:01

标签: email ms-access pdf access-vba report

我从该网站上的另一个问题中查找了以下代码,并试图将其应用于我自己的项目,但无济于事-我正尝试通过电子邮件将我的报告的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'中的语法错误(缺少运算符)

该帐户#有效,但不确定为什么我会卡在这里或如何解决-超级新手。

1 个答案:

答案 0 :(得分:0)

您的帐号是字符串 1RV80014 ,而您的Where condition:="AccountNumber = " & !AccountNumber则是整数。因此,将其更改为字符串Where condition:= "AccountNumber = '" & !AccountNumber & "'"