如何将带有格式化ID值的MS Access报告导出为PDF作为报告名称?

时间:2013-03-27 04:22:38

标签: ms-access-2007 access-vba

我正在使用Access 2007.

我创建了一个按钮,允许我将当前发票输出到.pdf,我希望它以“发票号和客户名称”命名,我很接近,但还不完全。这是我目前的代码,它工作正常:

Private Sub Create_Document_Click()

    DoCmd.OutputTo acOutputReport, "Invoices", acFormatPDF, [Invoice_ID] & "_" & [Client_ID] & ".pdf"

End Sub

这给了我一个名为“1_1.pdf”的报告,我希望它被称为“1007735001_XYZCompany.pdf”。

在我的发票表中,我已将Invoice_ID字段格式化为自动编号字段为“1007735”00,但输出报告将其命名为1而不是格式化的数字,我首先想知道是否可以将其更改为显示格式化的值。有可能吗?

然后我想知道如何将客户端名称值从1更改为客户端的名称。我的字段名称是Client_ID和Client_Name,该表名为Clients。

我现在已经搜索了几个论坛并尝试了很多解决方案,但都给了我错误,任何帮助都将非常感谢。如果我需要提供更多信息,请告诉我。

1 个答案:

答案 0 :(得分:1)

你似乎犯了很多罪。您不应该向表添加格式,如您所见,格式只是一种格式,它不会更改字段的内容(http://blogs.lessthandot.com/index.php/DesktopDev/MSTech/MSAccess/AccessVBAJetSQL/why-you-should-not-add)。另外,您似乎添加了ClientID的查找,另一个反功能(http://access.mvps.org/access/lookupfields.htm)。

您需要再次查找客户端并重新格式化该号码。

 Client = DlookUp("ClientName","ClientTable","ClientID=" & [Client_ID])
 Invoice = Format([Invoice_ID], """1007735""000")
 FileName= Invoice & "_" & Client & ".pdf"