BMS-HOSxP Community
HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: anurak2524 ที่ มีนาคม 18, 2008, 15:52:54 PM
-
รวบกวนผู้รู้ช่วยอธิบายหน่อยนะครับ ขอบคุณครับ
-
ถูกต้องตามที่ถามแล้วครับ
-
เมื่อลบรายการใน lab_items แล้วที่ไม่ใช้แล้ว(และไม่เคยใช้มาก่อนหน้านี้ด้วย)ต้องการลบตัวแสดงการรับข้อมูลนี้ได้อย่างไรครับ เพราะ ถ้าลบเฉพาะ record ใน lab_item ก็จะเกิด รายการที่ไม่มีชื่ออย่างที่เห็น
-
เมื่อลบรายการใน lab_items แล้วที่ไม่ใช้แล้ว(และไม่เคยใช้มาก่อนหน้านี้ด้วย)ต้องการลบตัวแสดงการรับข้อมูลนี้ได้อย่างไรครับ เพราะ ถ้าลบเฉพาะ record ใน lab_item ก็จะเกิด รายการที่ไม่มีชื่ออย่างที่เห็น
ลบผ่านหน้าจอไหนครับ
-
หน้าจอนี้ครับ และ ชื่อรายการหายไป เหลือแต่ ส่วนรับการลงผล lab ไม่หายไปตามการลบ
-
...น่าจะเป็นเพราะว่ารายการที่ถูกลบไป ถูกตั้งค่าให้สั่งตามกลุ่ม(SubGroup)ไว้น่ะครับ(ตามรูปของคุณ Wongnim คือ CBC) พอรายการ Lab ถูกลบไปแล้วแต่ฟอร์ม Lab ที่มี SubGroup นี้อยู่ อาจยังจำค่าจำนวนของรายการใน SubGroup อยู่ พอเราสั่ง SubGroup นี้ ก็ไม่มีรายการ Lab มาแสดงเพราะถูกลบไปแล้ว เลยเป็นช่องว่างๆ แทน.... :D..
-
...การลบรายการ Lab ที่ถูกตั้งค่า SubGroup อยู่นั้นให้เราไปยกเลิกการตั้งค่าให้สั่งตามกลุ่มก่อน โดยดับเบิ้ลคลิ๊กที่รายการที่ต้องการลบ แล้วไปที่แท็ป สั่งตามกลุ่ม จากนั้นเอาเครื่องหมายถูกที่หน้าหัวข้อ SubGroup ออก แล้วสั่งบันทึกรายการ..... :D..
-
...เมื่อรายการ SubGroup ของรายการ Lab ถูกยกเลิกไปแล้ว จึงค่อยสั่งลบรายการ Lab ครับ
แล้วเวลาที่เราสั่ง Lab ถ้าเราสั่งรายการของ SubGroup นี้ ก็จะไม่มีช่องว่างๆ แสดงครับ.... :D..
-
...กรณีของคุณ Wongnim ถ้าต้องการให้ไม่มีรายการว่างๆ แสดง คงต้องตามไปลบ record ออกจากตาราง lab_items_sub_group_list แล้วหล่ะครับ..(เพราะไม่มีรายการ Lab ให้ยกเลิกการสั่งตามกลุ่มแล้ว)...
...อาจจะลำบากนิดนะครับ...
...ลำดับแรกไปดูที่รายการ Lab ก่อน โดยดูที่ รหัส(lab_items_code) ของรายการ Lab ที่ถูกกำหนด SubGroup เป็น CBC ไว้
ให้เราจดรหัสนี้ไว้ทุกตัวเลยนะครับ ..ตามรูปของผมจะเป็น 78 เรียงไปจนถึง 92..... :D..
-
...จากนั้นไปเปิดตาราง lab_items_sub_group ก่อนนะครับ เพื่อดูว่า รายการ CBC ของเรานั้น มี lab_items_sub_group_code เป็นอะไร ... ตามรูปของผมคือ 36 ครับ....
-
...จากนั้นค่อยไปเปิดตาราง lab_items_sub_group_list ให้ดูที่ Field lab_items_sub_group_code โดยดูเฉพาะ record ที่เป็นรหัสของ CBC(ในรูปคือ 36)...
...จากนั้นตรวจสอบที่ Field ของ lab_items_code ครับว่ามี record ไหนที่ไม่มีตามรหัสที่เราจดไว้ในตอนแรกบ้าง(ตามรูป ของผมมีอยู่ 1 record คือ 77 ) ให้ลบ record นั้นออก ซึ่งจำนวน record ที่ถูกลบจะต้องเท่ากับรายการว่างๆ ที่เราเห็น ตรวจสอบให้ดีนะครับ อย่างของคุณ Wongnim จะมี 7 รายการ แล้วสั่ง update ครับ...
...อย่าลืมใช้ความระมัดระวังมากๆ เวลาทำด้วยนะครับ... :D...
-
...กรณีของคุณ Wongnim ถ้าต้องการให้ไม่มีรายการว่างๆ แสดง คงต้องตามไปลบ record ออกจากตาราง lab_items_sub_group_list แล้วหล่ะครับ..(เพราะไม่มีรายการ Lab ให้ยกเลิกการสั่งตามกลุ่มแล้ว)...
...อาจจะลำบากนิดนะครับ...
....ส่วนวิธีที่ง่ายๆ เมื่อเรารู้สาเหตุแล้วก็คือ
delete from lab_items_sub_group_list
where lab_items_sub_group_code = '36'
and lab_items_code not in (select lab_items_code from lab_items where lab_items_sub_group_code = '36')
แล้วสั่ง Exec ครับ.....
...ใช้กับ SubGroup อื่นได้ด้วยถ้าพบปัญหาเหมือนกัน โดยเปลี่ยนค่าตรง lab_items_sub_group_code ครับ... ;)...
-
ดีเลย ไม่ต้องพิมพ์
ว่าจะมาตอบพอดี
;D ;D ;D
สบายแล้ว
:o :o
ต้องระวังให้ดีครับ ลบผิด หรือทำผิดจะมีปัญหาปวดหัวตามหลังมาครับ