Я отправляю электронные письма из MS Access через outlook, используя следующую команду
DoCmd.SendObject acSendReport, report_name, acFormatPDF, my_email, , my_email, "Weekly", "Sending you weekly report", True
, где report_name - это отчет, основанный на запросе qQuickReport.
Но я не хочу отправлять все записи всем получателям.Каждый получатель должен получать свои записи из отчета.Создание 5 отдельных запросов и 5 форм на основе этих форм является одним из вариантов, но я бы предпочел сделать это «правильно».Поэтому я планирую зациклить идентификатор получателя в запросе qQuickReport, добавив следующее условие:
WHERE (((qALL.Koordinator)=[whichone]))
и установить параметр [whichone] с помощью кода VBA следующим образом:
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] в интерактивном режиме (окно ввода значения параметра), поэтому это означает, что запрос по отчету не получил значение параметра [which].
Я что-то не так делаю или просто Setparameter with SendReport неподдерживается?
Спасибо, PH