Post Views: 1,246
ในการอ่านหรือดูรายงานหนึ่ง ๆ นั้น แม้ข้อมูลจะมีการจัดเป็นข้อ ๆ แล้วหรือมีการจัดกลุ่มข้อความนั้นแล้วก็ตาม แต่เมื่อข้อมูลมีจำนวนมาก ก็อาจทำให้เราวิงเวียน ตาลายได้
ดังนั้นในฐานะผู้จัดทำรายงานคนหนึ่ง ก็พยายามหาทางให้ผู้ใช้สามารถอ่านรายงานได้ง่าย โดยการใส่สีข้อความสลับบรรทัดนั่นเอง
โดยปกตินั้น การใส่สีสลับบรรทัดสามารถทำได้โดยวิธีง่าย ๆ นั้นคือ
if row mod 2 = 0 then //ตรวจสอบว่าแถวนั้นเป็นแถวคู่หรือไม่
color(240,240,240) //ถ้าใช่แสดงสี
else crNocolor //ถ้าไม่ใช่ไม่ต้องแสดงสี
|
ซึ่งจะทำให้ได้ผลลัพธ์ดังรูป
จากรูปจะเห็นได้ว่า ข้อมูลมีการสลับสีแล้ว แต่เนื่องจากข้อมูลถูก Group จะพบว่า ข้อมูลที่มี 1 record ก็มีการสลับสีด้วย ซึ่งผู้เขียนไม่ต้องการให้มีการสลับสีกรณีที่ข้อมูลมีเพียง 1 ดังนั้นผู้เขียนจึงปรับวิธีการเขียนใหม่ดังนี้
- เพิ่ม Formula Fields
- ตัวที่ 1 ตั้งชื่อว่า ffRowCount เขียน Code ภายในดังนี้
shared numbervar
rowcnt;rowcnt := rowcnt+1;
- ตัวที่ 2 ตั้งชื่อว่า ffRowReset เขียน Code ภายในดังนี้
shared numbervar
rowcnt:rowcnt := 0;
- นำตัวที่ 1.1 ใส่ไว้ในส่วนของ Details และเลือก Suppress
- นำตัวที่ 1.2 ใส่ไว้ในส่วนของ Group 2(คณะ) เนื่องจากต้องการให้มีการ reset เมื่อมีการเปลี่ยน Group และเลือก Suppress
- ส่วนของ Details ให้จัดการดังนี้
- Click ขวา เลือก Section Expert
- Click เลือก Tab Color
- ทำเครื่องหมาย / หน้า Background Color
- กดปุ่ม x-2 หลักช่องสี
- เขียน Code ดังนี้
shared numbervar rowcnt;
if remainder(rowcnt,2) = 0 then
color(240,240,240)
else crNocolor
- จากนั้นลอง run ผลลัพธ์ดังรูป
จะเห็นได้ว่า ข้อมูลที่มีเพียง 1 record นั้นจะไม่มีสี
ผู้เขียนหวังว่าบทความนี้จะเป็นประโยชน์ไม่มากก็น้อยสำหรับผู้อ่านนะคะ
แล้วพบกันใหม่ตอนหน้าค่ะ |