Я хочу добавить функциональность к своему отчету о Доступе 2007 года, посредством чего копия PDF отчета создается при щелчке кнопки. Я знаю, что существует OutputTo
макрос, который может сделать это для меня, но он не позволяет мне включать значения полей отчета как часть имени файла PDF, а именно:
[Client Organisations].Code + "-" + Clients.Code + "-" + Invoices_Code + "-" + Format([Invoice Date],"yyyy") + ".pdf"
В то время как я видел этот поток MSDN и это ТАК вопрос, я не вижу использование значений полей ни в одном из ответов.
Я считаю, что код VBA является способом пойти, таким образом, я (неудачно) попробовал следующее:
Private Sub Create_PDF_Click()
DoCmd.OutputTo acOutputReport, , acFormatPDF, "" + [Client Organisations].Code
+ "-" + Clients.Code + "-" + Invoices_Code + "-" + Format([Invoice Date],"yyyy")
+ ".pdf", True
End Sub
Ошибка времени выполнения '2465':
Microsoft Office Access не может найти поле '|' упомянутым в Вашем выражении
Какие-либо идеи там?
Я заставил его работать (в конце концов).
Следующий sub
помог:
Private Sub Create_PDF_Click()
Dim myPath As String
Dim strReportName As String
DoCmd.OpenReport "Invoices", acViewPreview
myPath = "C:\Documents and Settings\"
strReportName = Report_Invoices.[Client Organisations_Code] + "-" +
Report_Invoices.Clients_Code + "-" + Report_Invoices.Invoices_Code + "-" +
Format(Report_Invoices.[Invoice Date], "yyyy") + ".pdf"
DoCmd.OutputTo acOutputReport, "", acFormatPDF, myPath + strReportName, True
DoCmd.Close acReport, "Invoices"
End Sub
Два предостережения:
[Клиентские организации].Код
был [Код_клиентских_организаций]
в отчете. Легче затемнить строку и поместить туда все выражение, а затем отладить его, чтобы увидеть, содержит ли оно правильное имя отчета.
Вот так:
Dim strReportName as String
strReportName = [Client Organisations].Code
+ "-" + Clients.Code + "-" + Invoices_Code + "-" + Format([Invoice Date],"yyyy")
+ ".pdf"
//then try to print strReportName before you use DoCmd.OutputTo.