กำจัดบรรทัดว่างในReport และกำหนดหน้าคี่ หน้าคู่ให้
กระทู้เก่าบอร์ด อ.Yeadram

 1,090   0
URL.หัวข้อ / URL
กำจัดบรรทัดว่างในReport และกำหนดหน้าคี่ หน้าคู่ให้

     รบกวนท่านอาจารย์และผู้รู้ทั้งหลาย เพื่อจัดทำรายงานให้เป็นไปตามที่กำหนด
โดยมีข้อมูลดังนี้
     Table1     : ID,     Name,          SurName,          ID_Man
     Table2     : ID_Man          Out
ใช้ Query1 ได้ข้อมูลมาตามต้องการแล้วต้องการนำทำ Report

Ex ข้อมูลที่ได้มาจาก Query1
ID     Name     SurName          ID_Man                           Out
๑          จิรพันธ์           อุดมญาติ                    ๑-๑๐๓๑-๐๐๒๙๔-๔๖-๔
๒          วัชรพล          วัชนาวงษ์                    ๑-๗๒๐๙-๐๐๑๘๗-๑๖-๘
๓          สุรพัฒน์         มลิทอง                       ๑-๗๐๙๙-๐๐๘๘๓-๘๓-๙          ลาออก
๔          วิษณุ             หลีเกษม                     ๑-๑๐๓๐-๐๐๐๖๖-๖๔-๘            ตาย
๕          วีระพงษ์         เล่าทรัพย์                  ๑-๗๒๙๙-๐๐๒๙๕-๔๘-๑
๖          ศุภณัฐ           ดิษฐ์กระจัน            ๑-๗๒๐๔-๐๐๑๓๕-๖๔-๙           ลาออก
๗          กิตติ             ขันแก้ว                       ๑-๕๓๐๓-๐๐๐๖๘-๔๙-๖     
๘          มนฑล          จิตโสภา                      ๑-๑๐๐๗-๐๑๙๑๕-๘๒-๗     
๙          สมบัติ           ประนมพนธ์            ๑-๗๓๐๒-๐๐๒๓๐-๗๙-๖     
๑๐        จงดี             รักอู่                            ๑-๗๒๐๙-๐๐๑๘๖-๐๔-๘     
๑๑        สราวุฒิ          รักอู่                            ๑-๗๒๐๙-๐๐๑๘๙-๖๓-๒
๑๒        นพดล           ชูศรีจันทร์                  ๑-๗๒๐๙-๐๐๑๘๕-๓๗-๘
๑๓        ชยณัฐ           จันทร์ประสพพร      ๑-๗๒๐๙-๐๐๑๘๕-๓๐-๑           ย้ายโรงงาน
๑๔        ประสิทธิ์ชัย อาจคงหาญ        ๑-๗๒๙๙-๐๐๒๘๘-๔๓-๔          ย้ายแผนก
๑๕         กิตปกรณ์        รักน้อย                      ๑-๗๒๐๙-๐๐๑๘๑-๙๘-๔           ลาออก
๑๖         อานนท์     ยิ้ม ไพบูรณ์                     ๑-๗๒๐๙-๐๐๑๘๑-๑๖-๐            ลาพักร้อน
๑๗         ภาคภูมิ        นามโชติ                      ๑-๗๒๐๙-๐๐๑๘๕-๖๐-๒     
๑๘         ธนพล          ปานสอนดี                  ๑-๗๔๙๙-๐๐๓๖๙-๗๖-๑
๑๙         ปิยะ             ทำทวี                         ๑-๗๒๐๙-๐๐๑๘๕-๕๐-๕
๒๐         จิณณวัตร      หมอยาดี                    ๑-๗๓๐๒-๐๐๒๓๘-๖๗-๓

Report ที่ต้องการ
     กรณีไม่มีรายการใน [Out] ให้แสดงรายการ
                                [Out] เป็นบรรทัดว่าง
(Running)          (ID)     (Name)
                    (SurName)
               (ID_Man)
     หากมีรายการใน(Out) ให้นำข้อมูลใน (ID) และ (Out) มาแสดงแทน (ไม่ต้องแสดงName,SureName,ID_Man)
พร้อมกับเลื่อนข้อมูลลำดับถัดไปมาแสดงในหน้ากระดาษรายงาน
     (หน้าคี่)     มีส่วนหัวกระดาษ
     จำนวน                        เลขที่                      รายการ     
(RunningSum)     ( ID )     
         ๑                              ๑                   นาย จิรพันธ์     
                                                                      อุดมญาติ     
                                                          ๑-๑๐๓๑-๐๐๒๙๔-๔๖-๔
         ๒                              ๒                  นาย วัชรพล
                                                                     วัชนาวงษ์
                                                          ๑-๗๒๐๙-๐๐๑๘๗-๑๖-๘
                                         ๓ ลาออก ,๔ ตาย
        ๓                              ๕                  นาย วีระพงษ์
                                                                          เล่าทรัพย์
                                                          ๑-๗๒๙๙-๐๐๒๙๕-๔๘-๑
                                         ๖ ลาออก
   ๔                              ๗                 นาย กิตติ
                                                                          ขันแก้ว
                                                          ๑-๕๓๐๓-๐๐๐๖๘-๔๙-๖
        ๕                              ๘                 นาย มนฑล
                                                                          จิตโสภา
                                                       ๑-๑๐๐๗-๐๑๙๑๕-๘๒-๗

        ๖                              ๙                 นาย สมบัติ
                                                                          ประนมพนธ์
                                                      ๑-๗๓๐๒-๐๐๒๓๐-๗๙-๖
......................ขึ้นหน้าใหม่ (หน้าคี่, หน้าคู่) ว่างระเบียนไม่เท่ากัน เนื่องจากหน้าคี่ มีส่วนหัวกระดาษ หน้าคู่ ไม่มี จึงต้องการลดระยะบนในหน้าคู่เพื่อให้ได้ข้อมูล

ในรายงาน รายงาน ๑ แผ่น วาง ๑๓ ระเบียน (หน้าคี่ ๖ ระเบียบ, หน้าคู่ ๗ ระเบียบ)
     (หน้าคู่)      ไม่มีส่วนหัวกระดาษ
จำนวน                        เลขที่                      รายการ     
(RunningSum)     ( ID )     
        ๗                              ๑๐                นาย จงดี
                                                                         รักอู่
                                                         ๑-๗๒๐๙-๐๐๑๘๖-๐๔-๘
        ๘                              ๑๑               นาย สราวุฒิ
                                                                        รักอู่
                                                         ๑-๗๒๐๙-๐๐๑๘๙-๖๓-๒
        ๙                             ๑๒                นาย นพดล
                                                                      ชูศรีจันทร์
                                                        ๑-๗๒๐๙-๐๐๑๘๕-๓๗-๘
                                  ๑๓ ย้ายโรงงาน, ๑๔ ย้ายแผนก, ๑๕ ลาออก, ๑๖ ลาพักร้อน
     ๑๐                            ๑๗               นาย ภาคภูมิ
                                                                        นามโชติ
                                                       ๑-๗๒๐๙-๐๐๑๘๕-๖๐-๒
     ๑๑                           ๑๘             นาย ธนพล
                                                                        ปานสอนดี     
                                                       ๑-๗๔๙๙-๐๐๓๖๙-๗๖-๑
     ๑๒                           ๑๙                นาย ปิยะ
                                                                        ทำทวี
                                                       ๑-๗๒๐๙-๐๐๑๘๕-๕๐-๕
     ๑๓                           ๒๐                 นาย จิณณวัตร
                                                                        หมอยาดี
                                                       ๑-๗๓๐๒-๐๐๒๓๘-๖๗-๓

รายงานที่ทดลองออกแบบแล้วโดยจัดรูปแบบดังนี้ครับ

ในส่วน Detail          ( ใช้TextBoxทั้งหมดในรายงาน ) ในหนึ่งระเบียบ กำหนดไว้ ๔ บรรทัด

                [Out] Ctrl : =IIf([Out] Is Not Null,[Sd_27] & " " & [Out],Null)
[ลำดับ] Ctrl : =IIf([Name] Is Not Null,1,Null) ; [ID] Ctrl : =IIf([Out] Is Null,[Sd_27],Null) ; [Name] Ctrl : =IIf([Out] Is Null,"นาย " & ![Name],Null)
               [SurName] Ctrl : =IIf([Out] Is Null,[SurName],Null)
               [ID_Man] Ctrl : =IIf([Out] Is Null,[ID_Man],Null)

สั่ง Runได้รูปแบบรายงานแบบนี้ครับ

           จำนวน                  เลขที่                             รายการ     
(RunningSum)     ( ID )     
             ๑                         ๑                    นาย จิรพันธ์
                                                                               อุดมญาติ
                                                            ๑-๑๐๓๑-๐๐๒๙๔-๔๖-๔
             ๒                         ๒                    นาย วัชรพล
                                                                             วัชนาวงษ์
                                                            ๑-๗๒๐๙-๐๐๑๘๗-๑๖-๘
                                    ๓        ลาออก
             ๓                                                (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
                                         ๔      ตาย
            ๔                                                 (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
       ๕                          ๕                    นาย วีระพงษ์
                                                                               เล่าทรัพย์
                                                          ๑-๗๒๙๙-๐๐๒๙๕-๔๘-๑
                                        ๖      ลาออก
            ๖                                                  (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
                                                                (บรรทัดว่าง)
            ๗                         ๗                      นาย กิตติ
                                                                           ขันแก้ว
                                                          ๑-๕๓๐๓-๐๐๐๖๘-๔๙-๖
           ๘                          ๘                       นาย มนฑล
                                                                           จิตโสภา
                                                            ๑-๑๐๐๗-๐๑๙๑๕-๘๒-๗
                                                                             ฯลฯ
สรุป
บรรทัดที่มีข้อมูลใน [Out] จะแสดงค่าเป็นบรรทัดว่างทั้งหมด (รายงานที่ต้องการกำจัดบรรทัดว่างในรายงานโดยการเลื่อนลำดับข้อมูลขึ้นไปแทน)
ถ้ามีข้อมูลใน [Out] ในระเบียบนถัดไปให้นำไปเรียงต่อกันจนถึงระเบียบที่ [Out] เป็นค่าว่างจึงเริ่มแสดงข้อมูลใหม่

คำถาม
1. มีวิธีการกำหนดอย่างไรเพื่อให้ได้รายงานตามที่กำหนด ต้องเขียน Code หรือวาง Sub Report อย่างไรถึงจะได้รูปแบบตามต้องการ
2. หากต้องการให้รายงานมี หน้าคี่, หน้าคู่ไม่เหมือนกัน (หน้าคี่ ๖ ระเบีบน มีหัวกระดาษ) (หน้าคู่ ๗ ระเบียบ ไม่มีหัวกระดาษ) ต้องเขียน Code อย่างไร
รบกวนอาจารย์และท่านผู้รู้ท่านอื่นด้วยครับ ขอขอบพระคุณเป็นอย่างสูง

ขออภัยอธิบายยาวไปหน่อย

หมายเหตุ ผมมีความรู้ Access แบบงู ๆ ปลา ๆ นะครับ ปกติที่ใช้งานอยู่ส่วนมากจะใช้ Query ดึงข้อมูลที่ต้องการไปออกรายงาน Code
SQL หรือ VBA ไม่ค่อยได้ใช้ถ้าไม่จำเป็นจริง ๆ นิพจน์ในรายงานในการเลือกก็จะใช้ IIf เป็นส่วนมาก              
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2384s