0

基本上我需要每天向我们支付资金的经销商发送一份报告。我有一张表,上面有经销商名称、ID 号和他们的电子邮件地址。

对于每个报告,我需要遍历此表并按 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));
4

2 回答 2

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

希望这可以帮助!

于 2013-03-28T14:40:43.417 回答
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
于 2013-03-28T14:14:13.387 回答