基本上我需要每天向我们支付资金的经销商发送报告。我有一张桌子,上面有经销商名称,身份证号码和电子邮件地址。
对于每个报告,我需要遍历此表并通过ID号向相应的经销商发送电子邮件。
经销商信息:
SELECT DealerDetail.dealer_id, DealerDetail.dealer_name, DealerDetail.email
FROM DealerDetail;
我的报告使用的查询:
SELECT LoanDetail.Book_Date, LoanDetail.DLR_Name,
LoanDetail.DLR_ID, LoanDetail.Cust_ID, LoanDetail.Amt_Fin,
LoanDetail.APR, LoanDetail.Buy_Rate, LoanDetail.Pmt_Amt,
LoanDetail.TERM, LoanDetail.Part, LoanDetail.[Flat Fee]
FROM LoanDetail
WHERE (((LoanDetail.Book_Date)=Date()-1));
答案 0 :(得分:2)
另一种方法是循环并创建一个Outlook实例来发送电子邮件,如下面的代码所示
Private Function SendEmail(attachment, subject,strContactEmail,strEmailText,strCc)
Dim olLook As Object 'Start MS Outlook
Dim olNewEmail As Object 'New email in Outlook
Set olLook = CreateObject("Outlook.Application")
Set olNewEmail = olLook.createitem(0)
With olNewEmail 'Attach template
.To = strContactEmail
.cc = strCc
.body = strEmailText
.subject = subject
.attachments.Add (attachment)
.display
End With
.send
End Function
希望这有帮助!
答案 1 :(得分:1)
一种方法是遍历经销商表并使用SendObject发送报告:
Dim rs AS DAO.Recordset
Set rs = CurrentDB.OpenRecordset("SELECT email FROM DealerDetail")
Do While Not rs.EOF
DoCmd.SendObject acReport, "ReportName", _
acFormatPDF, rs!Email, , , "Report", "Here is the report", True
rs.MoveNext
Loop