... อย่างที่ pop_hosxp บอกนะตรงจุดแล้วครับ ต้องเพิ่มเงื่อนไขในการเรียงข้อมูลด้วย ....
คือถึงแม้ว่าฟอร์มทั้งสองฟอร์มจะนำข้อมูลมาจากที่เดียวกัน เช่น จากตาราง doctor_order_print แต่ถ้าไม่กำหนดการเรียงข้อมูลเอาไว้ ก็มีโอกาสที่การเรียงลำดับของรายการไม่เหมือนกันได้ครับ เพราะฉนั้นถ้าจะให้เรียงลำดับเหมือนกันต้อง order by ด้วย ส่วนจะ order by ด้วยอะไรก็ต้องดูส่วนอื่นประกอบด้วย เช่นใช้ข้อมูลจากที่เดียวกันหรือเปล่า หรือผู้ใช้ต้องการเรียงแบบไหน เป็นต้นครับ
ถ้าต้องการให้เรียงตามลำดับเหมือนกับที่มีการคีย์ในหน้าสั่งยาของโปรแกรม HOSxP dHต้องอย่างพี่โก้บอกคือใช้ประโยชน์จาก doctor_order_print.item_no
... ส่วนของคุณ pa_net นั้น ...
ในใบสั่งยานั้นใช้ข้อมูลจาก doctor_order_print ตามปกติครับ แต่ไม่มีคำสั่งในการเรียงข้อมูล
ส่วน OPD Card นั้น ถ้าจำไม่ผิดรู้สึกว่าผมจะเป็นคนแก้ตรงส่วนของรายการยาโดยใช้ SubReport ดึงข้อมูลมาจาก opitemrece คือส่วนนี้เหมือนคุณ pa_net ต้องการให้แสดงเฉพาะรายการยา ซึ่งแยกรายการยาโดยเลือกจาก icode ที่ขึ้นต้นด้วย 1
ทีนี้มีอยู่บางช่วงบาง version ที่ ตาราง doctor_order_print ของ HOSxP มีปัญหาไม่มีเก็บค่า icode ไว้(field icode จะว่างๆ ไม่มีข้อมูล แต่ปัจจุบันไม่มีปัญหานี้แล้ว) ผมเลยเลี่ยงไปดึงรายการค่ารักษาเพื่อมาแยกเป็นรายการยาจากตาราง opitemrece แทน
คุณ pa_net ลองตรวจสอบดูตาราง doctor_order_print ดูก่อนนะครับ ว่าในส่วนของ icode มีข้อมูลอยู่หรือเปล่า ถ้ามีข้อมูล ก็สามารถแก้ไข
OPD Card ที่คำสั่งของ SubReport ในส่วนของรายการยาให้ใช้ข้อมูลจาก doctor_order_print เหมือนใบสั่งยา แล้วเลือกการเรียงข้อมูลตามที่เราต้องการให้เหมือนกันทั้งสองฟอร์ม
แต่ต้องไม่ลืมอย่างหนึ่งว่าในใบสั่งยานั้นมีรายการค่ารักษาทั้งหมดทุกรายการ แต่ OPD Card มีเฉพาะรายการยานะครับ
ถ้าไม่ต้องการแก้คำสั่งมากก็อย่างที่ pop_hosxp บอก เพิ่มการเรียงตาม icode จากน้อยไปมาก ก็จะเอารายการยาขึ้นก่อนค่ารักษาอื่นๆ ดังนั้นทั้ง 2 ฟอร์มเรียงเหมือนกันแน่ๆ ครับ ....
.....