Saving a report as a .pdf file
กระทู้เก่าบอร์ด อ.สุภาพ ไชยา

 419   8
URL.หัวข้อ / URL
Saving a report as a .pdf file

ถามไว้ที่ 
http://www.utteraccess.com/forums/showflat.php?Cat=&Board=access_2000&Number=117210&page=0&view=collapsed&sb=5&o=&fpart=1 
 
ผมเลยให้โค้ดตัวอย่างไว้ให้เขาด้วย ลองคลิกไปเอาโค้ดมาดูนะครับ *** Edited by Supap Chaiya *** 27/8/2546 20:50:52

8 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R00956
รบกวน อ.สุภาพ ทำตัวอย่างให้ดู ด้วยครับ เช่น Click Command Bottom แล้วไปเปิด Report แล้วจึงแปลงเป็น .pdf รบกวนด้วยครับ ขอบพระคุณมากๆ ครับ Suchat ชลบุรี
2 @R00989
ในการตอบของผม ผมได้ให้ตัวอย่างโค้ดไว้แล้วครับ ดังนี้ Private Sub cmdPrintPDF_Click() On Error GoTo Err_cmdPrintPDF_Click Dim stDocName As String Dim strFileName As String Dim I As Integer strFileName = "PDFFileNameAndPathHere" CreatePDFFileName (strFileName) stDocName = "YourTargetReportNameHere" DoCmd.OpenReport stDocName, acNormal Exit_cmdPrintPDF_Click: Exit Sub Err_cmdPrintPDF_Click: MsgBox Err.Description Resume Exit_cmdPrintPDF_Click End Sub ผมได้ไปเจออีกตัวอย่างหนึ่งที่ http://forums.compuserve.com/scripts/flisapi.dll/MAIL_LIB.ZIP?ViewFile&SRV=MSDevApps&FID=737&FVF=1/.ZIP เขาทำเป็น MDE ให้ลองไปเอามาศึกษาดู ซึ่งจะต้องตั้งไฟล์ MDE นี้ไว้ใน References ก่อน แล้วลองใช้โค้ดข้างล่างนี้นะครับ Sub TestPDF() Dim PDFObj As New PDFClass With PDFObj .ReportName = "Report1" .ImageType = "PDF" .PDFNoShowPropDlg = True .OutputFile = "c:\test.pdf" .PrintImage End With Set PDFObj = Nothing End Sub แต่มีข้อจำกัดอยู่ที่ ผู้เขียนให้เราใช้แค่ 30 วันแค่นั้นเองครับ
3 @R06195
อาจารย์สุภาพครับ
จาก Sub cmdPrintPDF_Click() นี้ ผมลองทำตามแล้วปรากฎว่ามันเป็นการแก้ registry โดยเพิ่ม key "PDFFilename" กับ value เป็นชื่อไฟล์ตาม strFileName

จากนั้นคำสั่งถัดมา"DoCmd.OpenReport stDocName, acNormal" ก็เป็นการเปิด report ธรรมดา ซึ่งดูเหมือนไม่เกี่ยวอะไรกับการแก้ registry เลยใช่
หรือเปล่าครับ ไม่ทราบว่าต้องเพิ่มคำสั่งอะไรอีกหรือเปล่าครับ ที่จะส่ง report ออกไปเป็นไฟล์ pdf ครับ ขอบพระคุณมากครับ


4 @R06196
โค้ดนี้จะทำงานได้เมื่อ

1 เล่นอยู่บน Windows 2000, Windows XP เท่านั้น
ส่วน Windows 2003 มันจะไม่สามารถติดตั้ง PDF Writer ได้
และ Win 98/Me จะใช้ Win.ini แทน แต่โค้ดตัวอย่างของผมจะไม่สามารถทำงานได้ครับ

2 ติดตั้ง Acrobat โดยเลือก PDFWriter ด้วย

:)
5 @R06201
ขอโทษครับ ผมอ่านไม่ละเอียดเองครับ เพราะต้อง set default printer
เป็น PDFWriter ด้วย (ผมใช้ XP และลง PDFWriter แล้ว)

แต่ปัญหาคือต้องไป set default printer เอง ผมอยากจะได้ code
ที่จะเปลี่ยน default ให้เอง แล้วแก้กลับเมื่อพิมพ์เสร็จ เพราะไม่เช่นนั้น
เวลาใช้งานอื่นๆ ก็ต้องมาแก้กลับอีก น่าจะเหมือนกับกระทู้ที่ 02364 ของคุณเจต
ครับ แต่ก็ยังค้นตามที่อาจารย์แนะนำไม่เจอเลยครับ

ขอบพระคุณมากครับผม
6 @R06202
ลองไปค้นที่ www.utteraccess.com ไปที่ search จากนั้นให้พิมพ์คำค้นด้วยคำว่า pdf แล้ว ตรงช่อง user หรืออะไรนี่แหล่ะให้พิมพ์คำว่า timk ลงไป
และเลือกช่วงเวลาที่ค้นให้มากกว่า 3 เดือนขึ้นไปครับ
ผมจำได้ว่าผมเคยแก้ไขไฟล์ที่เขายกตัวอย่างมาให้ ซึ่งจะมีโค้ดสำหรับเปลี่ยนปริ้นเตอร์เหมือนที่จะทำเลยครับ

ตอนนี้ผมมีปัญหากับเว็บต่างประเทศ ซึ่งจะออกไปได้ช้ามาก คงเป็นเพราะ UNINET อีกเช่นเคย
7 @R06207
ขอบพระคุณมากครับ ถ้าทำเสร็จแล้วจะเอามา post เผื่อคนที่สนใจด้วยครับ
8 @R06210
ลองไปดูที่นี่ครับ
http://www.utteraccess.com/forums/showflat.php?Cat=&Number=171119&page=&view=&sb=5&o=&fpart=all&vc=1
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.0617s