كيف يمكنني إخراج تقرير بتنسيق PDF ، حيث يتكون الاسم من القيم من الحقول؟
سؤال
أرغب في إضافة وظائف إلى تقرير Access 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
اثنين من التحذيرات:
- يجب فتح التقرير قبل الطباعة.
- ارجع إلى الحقول بنفس الاسم الذي يراه التقرير عليه. الذي - التي
[Client Organisations].Code
كان[Client Organisations_Code]
في التقرير.
نصائح أخرى
من الأسهل تخفيف السلسلة ووضع تعبيرك بالكامل هناك ثم تصحيحه لمعرفة ما إذا كان يحتوي على اسم التقرير الصحيح.
مثله:
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.
لا تنتمي إلى StackOverflow