– วันนี้มีน้อง IT รพ. ค่าย ฯ แห่งหนึ่งสอบถามเข้ามา ถามมาว่า ต้องการแก้ไข subreport ในฟอร์ม OPD-CARD อยากให้ แสดงผลแลปเฉพาะแลปที่สั่งเพิ่ม ไม่แสดงแลปที่สั่งล่วงหน้า ทำยังไง
…ผมก็เลยมาตรวจสอบโค้ดดู ก็ได้ออกมาแบบนี้  มาดูขั้นตอนกันครับ

อยากแรก เช็คโค้ด sql query ตรวจสอบก่อนว่า  lab ที่สั่งล่วงหน้ามันอยู่ที่ตารางไหน

ก็จะได้ โค้ดประมาณนี้
select vn,lab_order_number,hn,order_date,form_name,sub_group_list
from lab_head
where vn = “611001080118”
and sub_group_list not in(select sub_group_list from lab_app_head
where oapp_id in(select oapp_id from oapp where nextdate = lab_head.order_date and hn=lab_head.hn))
order by lab_order_number

โดยหาข้อมูลในตาราง lab_head ก่อน แล้วค่อยไปหาตาราง lab_app_head (ตารางสั่งแลปล่วงหน้า)  แล้วเอามารวมกัน โดยจะเช็คว่าเป็นข้อมูล oapp_id ที่เป็นข้อมูลของแลปช่วงหน้าใช่หรือไม่

เมื่อได้แล้วก็เอาไปออกแบบรายงาน ในฟอร์มรายงานที่ชื่อ   FORM-Doctor-OPDCARD-A5-แก้แลป   เป็นฟอร์มที่น้อง เขาส่งมาให้ผมดูตอนแรก

แล้วก็แก้ไขช่องนี้  คือ subreport23  และ subreport14  ซึ่งเป็น subreport ที่ใช้ฐาน DBPipeLineLinkg4 ตัวเดียวกัน  ก็เลยง่ายสำหรับการแก้ไข  เราเพียงแก้ไข ให้ ดึงเฉพาะ แลปที่เป็นแลปสั่งเองมาก็พอ ไม่ต้องเอา แลปที่สั่งล่วงหน้ามาแสดง

ต่อมาก็แก้ไข  DBPipeLineLink4  ตามนี้เลย

ตามรูปเลย  ปิด ChangeDBPipeLineLink4SQL  ตัวโค้ดเก่า แล้วใส่โค้ดใหม่คือ

ChangeDBPipeLineLink4SQL(‘ select vn,lab_order_number,hn,order_date,form_name,sub_group_list ‘+
‘ from lab_head ‘+
‘ where vn = “‘+DBPipeline[‘vn’]+'” ‘+
‘ and sub_group_list not in(select sub_group_list from lab_app_head ‘+
‘ where oapp_id in(select oapp_id from oapp where nextdate = lab_head.order_date and hn=lab_head.hn)) ‘+
‘ order by lab_order_number ‘);

ก็เป็นอันเสร็จ  แล้วก็ลอง ปริ้นออกมาดู
ก็จะได้ตามรูปนี้

เป็นอันเสร็จ
ดาวโหลดฟอร์ม *** FORM-Doctor-OPDCARD-A5-แก้แลป (39 downloads ) ***  ได้ที่นี้ครับ

หวังว่าจะเป็นประโยชน์สำหรับเพื่อนๆ น้องๆ admin มือใหม่นะครับ
ขอบคุณที่ติดตาม แล้วพบกันในบทความต่อไป

 

Loading

แจกฟอร์ม OPDCard ที่ให้ผลแลปแสดงเฉพาะแลปที่สั่งเพิ่ม ไม่แสดงแลปที่สั่งล่วงหน้า

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.