【问题标题】:Emailing PDF from Access从 Access 通过电子邮件发送 PDF
【发布时间】:2015-06-21 19:49:08
【问题描述】:

我最近刚刚在命令按钮后面编码以发送表单的电子邮件,但是当电子邮件弹出并打开 PDF 文件时,有 15 个相同表单的副本。有人知道为什么会这样吗?

谢谢:)

On Error GoTo errhandle
DoCmd.SendObject acSendForm, "frmETIC", acFormatPDF, "email address", "", "", "Recovery Report", "Attached is the submitted Recovery Report"
exitErr:
Exit Sub
errhandle:
If Err.Number <> 2501 Then
MsgBox ("Email cancelled!")
End If
Resume exitErr


Me.Filter = "CurrentDate= #" & Me!CurrentDate & "#" AND "Discover= '" & Me!Discover & "'" AND "Tail= '" & Me!Tail & "'" AND "FleetID= '" & Me!FleetID & "'"

【问题讨论】:

    标签: email ms-access vba


    【解决方案1】:

    听起来您的表单目前有 15 条记录。当您在表单上使用 SendObject 时,它会将表单中的所有记录打印到 PDF 中,而不仅仅是当前记录。我认为您需要过滤表单以仅显示当前记录,然后是 SendObject。如果您的数据源有一个名为 ID 的主键字段,请使用:

    Me.Filter = "ID=" & Me!ID
    Me.FilterOn = True
    DoCmd.SendObject acSendForm, "frmETIC", ...
    

    如果你有一个多字段主键使用:

    Me.Filter = "ID=" & Me!ID & " AND CustName = '" & Me!CustName & "'"
    Me.FilterOn = True
    

    对数字字段不使用分隔符,在文本字段值周围使用引号,在格式为 mm/dd/yyyy 的日期字段值周围使用 #。

    【讨论】:

    • 当你说“MyNumericKey”时,这就像每条记录获得的自动编号键吗?
    • @Brianna 我已将其更改为ID,但您必须使用主键字段的名称来命名。
    • 好的,我知道了!谢谢 :) 如果我有多个主键,我会在字段之间放一个 and 对吗?
    • 假设我有四个字段是我的主键:CurrentDate、Discover、Tail 和 FleetID,CurrentDate 是日期字段,其他三个是文本字段。它看起来像我在上面添加的吗?
    • 我似乎无法正确获取代码我不断收到语法错误
    猜你喜欢
    • 2018-09-19
    • 1970-01-01
    • 2023-03-06
    • 2013-10-15
    • 2016-08-28
    • 2023-03-10
    • 1970-01-01
    • 2013-10-28
    • 2021-12-18
    相关资源
    最近更新 更多