0

我正在使用 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”。

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

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

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

4

1 回答 1

1

你似乎犯了许多罪。您不应该向表格添加格式,正如您所发现的,格式只是一种格式,它不会更改字段的内容(http://blogs.lessthandot.com/index.php/DesktopDev/MSTech/MSAccess/ AccessVBAJetSQL/为什么你不应该添加)。此外,您似乎添加了对 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"
于 2013-03-27T11:29:10.463 回答