我正在使用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。
我现在已经搜索了几个论坛并尝试了很多解决方案,但都给了我错误,任何帮助都将非常感谢。如果我需要提供更多信息,请告诉我。
答案 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"