กระทู้เก่าบอร์ด อ.Yeadram
1,492 4
URL.หัวข้อ /
URL
checkbox เลือกเพื่อพิมพ์รายงาน
อยากเรียนถามว่าถ้าหากเราจะออกรายงานพิมพ์บัตรนักเรียน โดยต้องการเลือกเอาเฉพาะที่เราเลือกเช็ค เช่นต้องการเลือกพิมพ์บัตร ม.1 ก็เช็คช่อง ม.1 และมี preview ออกมาให้ดูก่อนพิมพ์ จะต้องเขียนโค้ดยังไงคะ จะต้องทำคิวรี่เพิ่มอีกหรือไม่คะ
ขอบคุณค่ะ
4 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R12928
เรียนปรึกษาอาจารย์อีกจุดค่ะ คือ ช่วงชั้นที่ 3 (rptStudentCard3) คลิกเลือก ม,ต้นได้แล้วค่ะ แต่ว่าระดับ ม.ปลาย ไม่ขึ้นเลยค่ะ คือ ชื่อรายงานม.ต้น ม.ปลาย (rptStudentCard4) คนละชื่อกันค่ะ เป็นเพราะใส่ผิดตรงไหนหรือเปล่าคะ
Private Sub Frame1_Click()
DoCmd.OpenReport "rptStudentCard3", acPreview, , "[Level] = " & Frame1
End Sub
Private Sub Frame28_Click()
DoCmd.OpenReport "rptStudentCard4", acPreview, , "[Level] = " & Frame28
End Sub
รบกวนอาจารย์ด้วยค่ะ
Private Sub Frame1_Click()
DoCmd.OpenReport "rptStudentCard3", acPreview, , "[Level] = " & Frame1
End Sub
Private Sub Frame28_Click()
DoCmd.OpenReport "rptStudentCard4", acPreview, , "[Level] = " & Frame28
End Sub
รบกวนอาจารย์ด้วยค่ะ
3 @R12929
1 ตรวจสอบค่าของ checkbox แต่ละตัวใน frame28 ว่าค่าถูกต้องหรือไม่
ค่าของมันเป็น 1 2 3 หรือ 4 5 6
2 rptStudentCard4 เป็นรายงานที่ใช้แหล่งข้อมูลจากคิวรี่หรือไม่ ถ้าใช่ ต้องตรวจสอบด้วยว่า คิวรี่นั้น มีการใช้เงื่อนไข ใดๆ หรือไม่ ถ้าคิวรี่นั้นมีการใช้เงื่อนไข เงื่อนไขนั้น ขัดแย้งกับ เงื่อนไขที่คุณส่งไปหรือไม่ ("[Level] = " & Frame28)
ถ้าตามตัวอย่างที่คุณส่งมา แล้วคุณคิดจะใช้การส่งเงื่อนไขผ่านฟอร์ม ผมขอแนะนำว่า รายงานแต่ละตัวของคุณให้ใช้ ตารางต้นทางเป็นแหล่งข้อมูลได้เลย ไม่จำเป็นต้องสร้างคิวรี่ครับ แล้วการส่งเงื่อนไขจากฟอร์มผ่านคำสั่ง openreport จะไม่มีปัญหาเรื่องของ "เงื่อนไขที่ขัดแย้งกัน"
ค่าของมันเป็น 1 2 3 หรือ 4 5 6
2 rptStudentCard4 เป็นรายงานที่ใช้แหล่งข้อมูลจากคิวรี่หรือไม่ ถ้าใช่ ต้องตรวจสอบด้วยว่า คิวรี่นั้น มีการใช้เงื่อนไข ใดๆ หรือไม่ ถ้าคิวรี่นั้นมีการใช้เงื่อนไข เงื่อนไขนั้น ขัดแย้งกับ เงื่อนไขที่คุณส่งไปหรือไม่ ("[Level] = " & Frame28)
ถ้าตามตัวอย่างที่คุณส่งมา แล้วคุณคิดจะใช้การส่งเงื่อนไขผ่านฟอร์ม ผมขอแนะนำว่า รายงานแต่ละตัวของคุณให้ใช้ ตารางต้นทางเป็นแหล่งข้อมูลได้เลย ไม่จำเป็นต้องสร้างคิวรี่ครับ แล้วการส่งเงื่อนไขจากฟอร์มผ่านคำสั่ง openreport จะไม่มีปัญหาเรื่องของ "เงื่อนไขที่ขัดแย้งกัน"
4 @R12931
ขอบพระคุณอาจารย์มากค่ะ เป็นไปตามที่อาจารย์บอกไว้เลย ที่แท้ค่า checkbox แต่ละตัวใน frame28 ผิดนี่เอง
ขอบพระคุณอาจารย์มากๆค่ะ
ขอบพระคุณอาจารย์มากๆค่ะ
Time: 0.3833s
เปิด help ศึกษา การใช้คำสั่ง docmd.openreport
มันจะมีอาร์กิวเมนต์ให้ระบุ
เงื่อนไขของคุณให้ระบุในส่วนของ Where
ลักษณะการเปิดรายงานให้ระบุในส่วนของ AcView
เช่นในฟอร์มมีเฟรมชื่อ frame0
ใน frame0 มีสมาชิก checkbox 6 ตัว
แต่ละตัว มีค่าเรียงลำดับ
ตัวแรก ซึ่งเขียนคำกำกับ (Label) ว่า ม.1 มีค่าของคอนโทรล คือ 1
ตัวที่สอง ซึ่งเขียนคำกำกับ ว่า ม.2 มีค่าของคอนโทรล คือ 2
...
ดังนั้นเมื่อใดมีการติ๊กช่อง ค่าของ checkbox ตัวที่ถูกติ๊ก ก็จะส่งไปยังค่าของ Frame0 คุณก็เอาค่าของตัวนี้ไปเป็นเงื่อนไขระบุ ชั้น
docmd.openreport "Report1",acPreview,,"[Level] = " & Frame0