Export Report เป็น File PDF
กระทู้เก่าบอร์ด อ.Yeadram

 4,100   9
URL.หัวข้อ / URL
Export Report เป็น File PDF

อยากทราบวิธี Export Report เป็น PDF ตามหน้าที่โชว์ใน Report ครับ
1. Export Report เป็น PDF เฉพาะหน้าที่เลือก
2. Export Report เป็น PDF ครั้งเดียวทั้งหมด โดยแยกเป็น 1 Report ต่อ PDF 1 File และชื่อของ PDF ที่ออกมาให้เป็นชื่อของ Fitter ที่ใช้สำหรับแยก Report

ตัวอย่าง Report มีทั้งหมดหลายหน้า (ไม่แน่นอน) ซึ่งแต่ละหน้าของ Report แยกด้วย Field น้ำหนักครับ สมมุติ Report หน้า1 น้ำหนัก 50 กิโล Report หน้า 2 น้ำหน้ก 53 กิโล เมื่อ Export แล้วได้เป็น File น้ำหนัก50.pdf และ น้ำหนัก53.pdf

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

1 @R02542
- ใช้ ร่วมกับโปรแกรมPDF Creater ทั้งหลาย ซึ่งมีทั้ง Freeware และเสียตังค์ หรือ Adobe Acrobate Pro
2 @R02547
ทำได้ครับผม แต่ว่า งานนี้คงต้องมีค่าขนมบ้าง
3 @R02688
มีวิธีที่ด้วย access แบบไม่ต้องเสียเงินไหมครับ
4 @R03957
อยากรู้เหมือนกันครับ มีวิธีทำโดย access แบบไม่ต้องเสียเงินไหมครับ
5 @R03959
ติดตั้งปริ๋นท์เตอร์จำลองเข้าไปครับ
มีของฟรีเยอะแยะเลย
มันจำลองตัวเองเป็นปริ๋นท์เตอร์ครับ จริงๆ คือมันทำหน้าที่ สร้างไฟล์ pdf นั่นแหละครับ

เวลาใช้งานก็คือ สั่งปริ๋นท์รายงานออกที่เครื่องปริ๋นท์เครื่องนั้นเลย มันก็จะถามว่า save ที่ไหน คุณตั้งชื่อมันบอกที่อยู่ให้มันได้เลย
ไม่จำเป็นต้อง access ด้วย ปริ่นท์เอกสารได้ทุกชนิด หน้าเว็บ เอกสารเวิร์ด เอ็กเซล หรือรูปภาพ ก็ได้ครับ

เคยมีกระทู้เก่าๆ อ.สันติสุข เอามาแนะนำก็มีหลายตัว
ที่ผมใช้อยู่ก็สองปีกว่าๆ มาแล้ว CutePDF หาได้ฟรี ตาม internet ครับ

หากจะต้องการเขียนเป็นโค้ด ก็เขียนเหมือนกัน กับการสั่งปริ๊นท์ออกเครื่องจริงนั่นแหละครับ แม้มันจะเป็นเพียง ปริ๊นท์เตอร์จำลอง หรือปริ๊นท์เตอร์เสมือนก็เหอะ
6 @R06170
วิธีสั่งปริ้นแบบเลือกเครื่องปริ้น ที่เป็นตัวสร้าง PDF
จะต้องเขียนโค้ดยังไงครับ รบกวนด้วยครับ
7 @R06174
window ผมเปลี่ยนฮาร์ดแวร์ใหม่ๆ หลายตัวเลยเพิ่งลง วินโดวส์ใหม่
ยังไม่ได้ลงชุดโปรแกรมออฟฟิศเลย ถ้าท่านอื่นยังไม่ตอบ เดี๋ยวผมของลงออฟฟิศก่อน แล้วจะลองใช้คำสั่งดู คือคำถามข้อนี้ผมจำคำสั่งได้ไม่แม่นต้องของลองดูก่อนค่อยกล้าตอบ

แต่ไม่แน่ ท่านอื่นๆ อาจจะตอบให้ก่อนผมก็ได้
หรือ
ลองค้นดูในกระทู้ต่างๆ จากเว็บบอร์ดเก่าของ อ.สุภาพ ไชยา หรือยังครับ ผมคุ้นๆ ว่าเคยเห็นตัวอย่างคำสั่งนะครับ
8 @R06183
- รายงานชื่อ rpMovement
- รายงานได้เปิดอยู่ ก่อนที่จะรันโค้ดนี้
- ปริ๊นท์เตอร์ชื่อ CutePDF Writer
- ต้องการปริ๊นท์เฉพาะหน้าแรกหน้าเดียว
Dim prtLoop, prtSet As Printer
' ค้นหาปริ๊นท์เตอร์ที่ต้องการ
For Each prtLoop In Application.Printers
If prtLoop.DeviceName Like "*PDF*" Then Set prtSet = prtLoop
Next

' ระบุรายงานที่ต้องการ
Dim myRpt As Report
Set myRpt = Reports("rpMovement")
myRpt.Printer = prtSet

' สั่งปริ๊นท์หน้าแรกหน้าเดียว
DoCmd.PrintOut , 1, 1, acMedium, 1

' ปริ๊นท์เตอร์ CutePDF Writer จะถามว่าต้องการเซฟชื่อไฟล์PDF ว่าอะไร
' ให้เราระบุทั้งชื่อและ พาธให้มันได้เลย
Dim PdfFileName As String
PdfFileName = "c:\documents and settings\all users\desktop\" & myRpt.Name & Format(Now(), "ddmmyyyyhhmmss")

SendKeys PdfFileName
SendKeys "{ENTER}"
' ล้างหน่วยความจำ
set myRpt=nothing
set prtSet=nothing
9 @R06184
-รายงานชื่อ rpMovement
-ปริ๊นท์เตอร์ชื่อ CutePDF Writer
-รายงานยังไม่ได้เปิดยังไม่ได้ถูกเรียกใช้มาก่อน
-ต้องการปริ๊นท์เป็น PDF ไฟล์ บันทึกด้วยชื่อรายงานตามด้วยวันเวลา เอาไว้ที่หน้า Desktop
-ต้องการปริ๊นท์ทั้งหมด ไม่ระบุเลขหน้า จำนวนหน้า
-ไม่ต้องการดูหน้าจอ ทั้งก่อนและหลังการพิมพ์
' ระบุชื่อรายงาน
Dim rpName As String
rpName = "rpMovement"
' สั่งเปิดรายงานเพื่อระบุเครื่องพิมพ์
DoCmd.OpenReport rpName, acViewDesign, , , acHidden

' ค้นหาเครื่องพิมพ์ที่ต้องการ
Dim prtLoop, prtSet As Printer
For Each prtLoop In Application.Printers
If prtLoop.DeviceName Like "*PDF*" Then Set prtSet = prtLoop
Next
' กำหนดเครื่องพิมพ์ที่ได้ให้เป็นเครืองพิมพ์ประจำของรายงานนั้น
Dim myRpt As Report
Set myRpt = Reports(rpName)
myRpt.Printer = prtSet

' สั่งปริ๊นท์รายงาน
DoCmd.OpenReport rpName, acViewNormal

' ระบุชื่อไฟล์และพาธสำหรับ PDF ปลายทาง
Dim PdfFileName As String
PdfFileName = "c:\documents and settings\all users\desktop\" & rpName & Format(Now(), "ddmmyyyyhhmmss")
SendKeys PdfFileName
SendKeys "{ENTER}"

' สั่งปิดรายงานและล้างหน่วยความจำ
Set myRpt = Nothing
Set prtSet = Nothing
DoCmd.Close acReport, rpName, acSaveNo
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.3547s