2013-03-27 58 views
0

我使用Access 2007年。如何将MS Access报告导出为带有格式化ID值的PDF作为报告名称?

我创建了一个按钮,让我输出我目前的发票为.pdf,我希望它是“发票号以及客户名称”来命名,我很接近,但不还没有。这是我目前拥有的代码,它工作正常:

Private Sub Create_Document_Click() 

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

End Sub 

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

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

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

我已经通过几个论坛搜索,并尝试了很多解决方案,但都给了我错误,任何帮助将不胜感激。如果我需要提供更多信息,请让我知道。

回答

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"