【发布时间】:2019-02-11 11:07:42
【问题描述】:
我正在使用以下命令通过 Outlook 从 MS Access 发送电子邮件
DoCmd.SendObject acSendReport, report_name, acFormatPDF, my_email, , my_email, "Weekly", "Sending you weekly report", True
其中report_name 是基于查询qQuickReport 的报告。
但我不想将所有记录发送给所有收件人。每个收件人都应该从报告中收到他自己的记录。基于此表单创建 5 个单独的查询和 5 个表单是其中一种选择,但我更愿意“正确”地进行操作。所以我计划在查询 qQuickReport 中循环收件人 ID,添加以下条件:
WHERE (((qALL.Koordinator)=[whichone]))
并通过VBA代码设置参数[whichone]如下:
DoCmd.SetParameter "whichone", "4"
如果我只打开查询 qQuickReport,以下两行工作正常,它只包含属于收件人 4 的记录:
DoCmd.SetParameter "whichone", "4"
DoCmd.OpenQuery ("qQuickReport")
但是如果我尝试如下使用它:
DoCmd.SetParameter "whichone", "4"
DoCmd.SendObject acSendReport, report_name, acFormatPDF, my_email, , my_email, "Weekly", "Sending you weekly report", True
它要求我交互式输入参数[whichone](窗口输入参数值),所以这意味着Report下的查询没有收到参数[which]的值。
我做错了什么还是不支持使用 SendReport 设置参数?
谢谢,PH
【问题讨论】: