我从本网站上的另一个问题中查找了下面的代码并尝试将其应用到我自己的网站上,但无济于事 - 我正在尝试通过电子邮件发送我的报告的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'中的语法错误(缺少运算符)
帐号#是有效的,但不确定为什么我会被困在这里或如何解决它 - 超级新手。
您的帐号是字符串1RV80014,而您的Where condition:="AccountNumber = " & !AccountNumber
表示整数。所以将它改为String Where condition:= "AccountNumber = '" & !AccountNumber & "'"