กระทู้เก่าบอร์ด อ.สุภาพ ไชยา
499 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
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 ครับ ขอบพระคุณมากครับ
จาก 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 ด้วย
:)
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 ของคุณเจต
ครับ แต่ก็ยังค้นตามที่อาจารย์แนะนำไม่เจอเลยครับ
ขอบพระคุณมากครับผม
เป็น PDFWriter ด้วย (ผมใช้ XP และลง PDFWriter แล้ว)
แต่ปัญหาคือต้องไป set default printer เอง ผมอยากจะได้ code
ที่จะเปลี่ยน default ให้เอง แล้วแก้กลับเมื่อพิมพ์เสร็จ เพราะไม่เช่นนั้น
เวลาใช้งานอื่นๆ ก็ต้องมาแก้กลับอีก น่าจะเหมือนกับกระทู้ที่ 02364 ของคุณเจต
ครับ แต่ก็ยังค้นตามที่อาจารย์แนะนำไม่เจอเลยครับ
ขอบพระคุณมากครับผม
6 @R06202
ลองไปค้นที่ www.utteraccess.com ไปที่ search จากนั้นให้พิมพ์คำค้นด้วยคำว่า pdf แล้ว ตรงช่อง user หรืออะไรนี่แหล่ะให้พิมพ์คำว่า timk ลงไป
และเลือกช่วงเวลาที่ค้นให้มากกว่า 3 เดือนขึ้นไปครับ
ผมจำได้ว่าผมเคยแก้ไขไฟล์ที่เขายกตัวอย่างมาให้ ซึ่งจะมีโค้ดสำหรับเปลี่ยนปริ้นเตอร์เหมือนที่จะทำเลยครับ
ตอนนี้ผมมีปัญหากับเว็บต่างประเทศ ซึ่งจะออกไปได้ช้ามาก คงเป็นเพราะ UNINET อีกเช่นเคย
และเลือกช่วงเวลาที่ค้นให้มากกว่า 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
http://www.utteraccess.com/forums/showflat.php?Cat=&Number=171119&page=&view=&sb=5&o=&fpart=all&vc=1
Time: 0.1095s