【问题标题】:Attaching access form and subform data in mail body在邮件正文中附加访问表单和子表单数据
【发布时间】:2016-04-29 22:21:31
【问题描述】:

在此先感谢 :),我正在尝试将子表单的数据也附加到邮件正文中。

当前状态:我可以附加主表单数据并生成邮件,但无法附加子表单的数据,因为它只包含第一行,尝试通过子表单进行并查询两者但没有成功。我更喜欢通过子表单本身来完成。子表单的名称是:“subUpdateOrder”。 VB代码:

Private Sub InformCustomer_Click()

On Error GoTo Err_InformCustomer_Click

    Dim CustName As String      ' Customer Name
    Dim varTo As Variant        '-- Address for SendObject
    Dim stText As String        '-- E-mail text
    Dim DelDate As Variant      '-- Rec date for e-mail text
    Dim stSubject As String     '-- Subject line of e-mail
    Dim stOrderID As String     '-- The Order ID from form
    Dim detailQry As String
    'Dim stHelpDesk As String    '-- Person who assigned ticket
    'Dim strSQL As String        '-- Create SQL update statement
    'Dim errLoop As Error

    CstName = Me![CustName]
    varTo = Me![CustEmail]
    stSubject = ":: Update - Oder Status ::"
    stOrderID = Me.[OdrID]
    DelDate = Me.[OdrDeliveryDate]
    stText = "Dear" & CstName & _
             "You have been assigned a new ticket." & Chr$(13) & Chr$(13) & _
             "Order Number: " & stOrderID & Chr$(13) & _
             "Please refer to your order status " & Chr$(13) & _
             "Exp Delevery Date: " & DelDate & Chr$(13) & Chr$(13) & _
              dQuery & Chr$(13) & _
             "This is an automated message. Please do not respond to this e-mail."

    'Write the e-mail content for sending to assignee
    DoCmd.SendObject , , acFormatTXT, varTo, , , stSubject, stText, True
  Err_InformCustomer_Click:
    MsgBox Err.Description
End Sub

表格图片:Form and Command1 button to run the code

【问题讨论】:

  • 你好安德烈,代码以相同的格式编写,它也在生成电子邮件以及父表单上的所有变量,但它没有填充子表单或查询的数据..我的代码显示“dQuery & Chr”的问题$(13) & _" ,我不知道如何引用相同的查询或子表单似乎我必须循环并打印电子邮件正文中的所有行数据。请参考下面这段代码被触发时生成的邮件内容(绑定的变量被突出显示): ****************************** 请帮助跨度>
  • 继续...(变量为粗体,OdrUpdatetoCustomer 也是应该填充邮件正文的查询): 亲爱的 Test 1 您已获得一张新票。订单号:1 请参考您的订单状态 到期交货日期:17-01-2016 OdrUpdatetoCustomer 这是一条自动消息。请不要回复此电子邮件。请帮忙

标签: email ms-access vba ms-access-2010 outlook-2010


【解决方案1】:

类似于(在CstName = Me![CustName] 之前插入):

Dim dQuery As String
Dim rs As DAO.Recordset

Set rs = Me!NameOfYourSubformCONTROL.Form.RecordsetClone
While Not rs.EOF
     dQuery = dQuery & rs![Brand Name].Value & vbTab & rs![Model Name].Value & vbTab & rs![Color].Value & vbCrLF 
Wend
Set rs = Nothing

【讨论】:

  • 请帮忙把它附加到那一大堆代码中。真的很棒
  • 没什么大不了的。正如我所写,只需在现有代码中在 CstName = Me![CustName] 之前插入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多