从Access通过电子邮件发送PDF

时间:2015-04-15 17:45:55

标签: email access-vba

我刚刚在一个命令按钮后面编码发送一个表单的电子邮件,但是当弹出电子邮件并打开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 & "'"

1 个答案:

答案 0 :(得分:2)

听起来你的表格目前有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的日期字段值周围使用#