在 Access 中向每个用户发送他们自己的个人电子邮件 PDF 报告
send each user their own individual emailed PDF report in Access
我从本网站的另一个问题中查找了以下代码,并尝试将其应用于我自己的代码,但无济于事 - 我正在尝试通过电子邮件将我的报告的 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”:
Syntax error (missing operator) in query expression 'AccountNumber = 1RV80014'
帐户 # 有效,但不确定为什么我会卡在这里或如何修复它 - 超级新手。
您的帐号是一个字符串 1RV80014 而您的 Where condition:="AccountNumber = " & !AccountNumber
是一个整数。所以将其更改为字符串 Where condition:= "AccountNumber = '" & !AccountNumber & "'"
我从本网站的另一个问题中查找了以下代码,并尝试将其应用于我自己的代码,但无济于事 - 我正在尝试通过电子邮件将我的报告的 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”:
Syntax error (missing operator) in query expression 'AccountNumber = 1RV80014'
帐户 # 有效,但不确定为什么我会卡在这里或如何修复它 - 超级新手。
您的帐号是一个字符串 1RV80014 而您的 Where condition:="AccountNumber = " & !AccountNumber
是一个整数。所以将其更改为字符串 Where condition:= "AccountNumber = '" & !AccountNumber & "'"