我从该网站上的另一个问题中查找了以下代码,并试图将其应用于我自己的项目,但无济于事-我正尝试通过电子邮件将我的报告的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'中的语法错误(缺少运算符)
该帐户#有效,但不确定为什么我会卡在这里或如何解决-超级新手。
答案 0 :(得分:0)
您的帐号是字符串 1RV80014 ,而您的Where condition:="AccountNumber = " & !AccountNumber
则是整数。因此,将其更改为字符串Where condition:= "AccountNumber = '" & !AccountNumber & "'"