BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: ploykot ที่ มีนาคม 19, 2013, 12:10:22 PM

หัวข้อ: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 19, 2013, 12:10:22 PM
การสูบบุหรี่และการดื่มสุราอยู่ในตารางอระไรครับ ดังภาพครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 19, 2013, 12:26:44 PM
อืม ผล หรือ หมายถึงตัวเลือก ครับ..ถ้าตัวเลือก คงฝังมากับตัวโปรแกรมครับ ไม่มีในตาราง  แต่การแปรผลการเลือก น่าจะเก็บเป็น opdscreen_smoking
กระมังครับ  กะ opdscreen_drinking
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 19, 2013, 14:20:48 PM
ต้องการนำ opdscreen มา join กับ smoking_type ให้โดย join ผ่าน smoking_type_id ครับ ให้แสดง smoking_type_name ครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 19, 2013, 15:20:30 PM
เอาค่าในคอลัมน์ บุหรี  สุรา ของ opdscreen

มา join กับ smoking_type  และตาราง drinking_type

โดยดูที่ค่า...drinking_type_id=opdscreen.drinking_type_id 
 กับ            smoking_type_id=opdscreen_smoking_type_id

จะได้ ชื่อของ วิธีสูบ  วิธีดื่ม มาครับ..

โค๊ด: Ada
  1. select o.vn,o.smoking_type_id,s.smoking_type_name,o.drinking_type_id,d.drinking_type_name from opdscreen  o
  2. left outer join smoking_type s on s.smoking_type_id=o.smoking_type_id
  3. left outer join drinking_type  d on d.drinking_type_id=o.drinking_type_id
  4. where o.vstdate ="2012-07-20"
  5. limit 20
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 19, 2013, 15:46:36 PM
select d1.*,v1.*,o1.*,s.*,t.blobtext,t.blobtext2,pe.image1,ic.name as diag_name0
from doctor_order_print d1
left outer join vn_stat v1 on v1.vn=d1.vn
left outer join ovst o1 on o1.vn=d1.vn
left outer join opdscreen s on s.vn = d1.vn
left outer join pe_image pe on pe.vn=d1.vn
left outer join tempreport t on t.name=d1.vn and t.reportname="DOCTOR-FORM"
left outer join icd101 ic on ic.code = v1.dx0
left outer join smoking_type s1 on s1.smoking_type_id=d1.smoking_type_id
left outer join drinking_type  d on d.drinking_type_id=o.drinking_type_id

where d1.vn="531129152924" and d1.print_server="MANOI-NOTEBOOK"   
เอา smoking_type กับ drinking_type มา join แล้ว error ครับ รบกวนช่วยแก้ไขให้หน่อยนะครับ ขอบคุณครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 19, 2013, 15:56:12 PM
select d1.*,v1.*,o1.*,s.*,t.blobtext,t.blobtext2,pe.image1,ic.name as diag_name0
from doctor_order_print d1
left outer join vn_stat v1 on v1.vn=d1.vn
left outer join ovst o1 on o1.vn=d1.vn
left outer join opdscreen s on s.vn = d1.vn
left outer join pe_image pe on pe.vn=d1.vn
left outer join tempreport t on t.name=d1.vn and t.reportname="DOCTOR-FORM"
left outer join icd101 ic on ic.code = v1.dx0
-----------------------------------------------------------------------------------------------
left outer join smoking_type s1 on s1.smoking_type_id=d1.smoking_type_id
left outer join drinking_type  d on d.drinking_type_id=o.drinking_type_id

-----------------------------------------------------------------------------------------------
where d1.vn="531129152924" and d1.print_server="MANOI-NOTEBOOK"  
เอา smoking_type กับ drinking_type มา join แล้ว error ครับ รบกวนช่วยแก้ไขให้หน่อยนะครับ ขอบคุณครับ

... แก้ไขเป็น

--------------------------------------------------------
left outer join smoking_type s1 on s1.smoking_type_id = s.smoking_type_id
left outer join drinking_type d on d.drinking_type_id = s.drinking_type_id
--------------------------------------------------------

...  :D ...
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 19, 2013, 21:53:13 PM
 ;D ;D ;D

งง เลย  doctor_order_print d1  มี smoking ด้วย.. ;D ;D
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 20, 2013, 09:37:03 AM
ผมก็งงครับ พยาบาลเขาต้องการ ก็ต้องจัดให้ครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 20, 2013, 09:42:47 AM
ผมก็งงครับ พยาบาลเขาต้องการ ก็ต้องจัดให้ครับ

เขาต้องการน่ะไม่แปลก  เพราะเป็น คะแนน MRA ของทุก รพ.

 แต่ที่แปลกคือ การอ้างชื่อตารางไม่ถุกต้อง เลย error SQL  น่ะครับ...
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 20, 2013, 10:28:48 AM
  Value := GetSQLStringData('select s.smoking_type  from opdscreen o '+
             'left outer join smoking_type s on s.smoking_type = o.smoking_type '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

เขียน varible แบบนี้ถูกไหมครับ ข้อมูลการคัดกรองไม่ขึ้นครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 20, 2013, 10:33:43 AM
  Value := GetSQLStringData('select s.smoking_type_name from smoking_type s '+
             'left outer join o.smoking_type_id = s.smoking_type_id '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

ลองใหม่แบบนี้แทนได้ไหมครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 20, 2013, 10:40:36 AM
เป็นเหมือนกันครับ ข้อมูลการคัดกรองการสูบบุหรี่ไม่แสดงใน opd card ครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 20, 2013, 13:15:21 PM
  Value := GetSQLStringData('select s.smoking_type  from opdscreen o '+
             'left outer join smoking_type s on s.smoking_type = o.smoking_type '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

เขียน varible แบบนี้ถูกไหมครับ ข้อมูลการคัดกรองไม่ขึ้นครับ

... ลองแบบนี้ครับ

Value := GetSQLStringData('select s.smoking_type_name  from opdscreen o '+
             'left outer join smoking_type s on s.smoking_type_id = o.smoking_type_id '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

   ที่จริงรูปแบบคำสั่ง ใช้ได้แล้วหล่ะครับ

   เพียงแต่ คุณ ploykot ต้องตรวจสอบเรื่อง field ที่อยู่ในตาราง ที่เราจะเอามาใช้ในคำสั่งให้ถูกต้อง
   ก็ OK แล้วครับ ...  :D ....
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 20, 2013, 13:47:20 PM
  Value := GetSQLStringData('select s.smoking_type  from opdscreen o '+
             'left outer join smoking_type s on s.smoking_type = o.smoking_type '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

เขียน varible แบบนี้ถูกไหมครับ ข้อมูลการคัดกรองไม่ขึ้นครับ

... ลองแบบนี้ครับ

Value := GetSQLStringData('select s.smoking_type_name  from opdscreen o '+
             'left outer join smoking_type s on s.smoking_type_id = o.smoking_type_id '+
             'where o.vn = "'+DBPipeline['vn']+'" ');

   ที่จริงรูปแบบคำสั่ง ใช้ได้แล้วหล่ะครับ

   เพียงแต่ คุณ ploykot ต้องตรวจสอบเรื่อง field ที่อยู่ในตาราง ที่เราจะเอามาใช้ในคำสั่งให้ถูกต้อง
   ก็ OK แล้วครับ ...  :D ....

ขอบคุณครับ ใช้งานได้แล้วครับ ได้รับความรู้มากครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 20, 2013, 15:22:22 PM
เก็บอยู่ตารางไหนครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 20, 2013, 18:26:08 PM
เก็บอยู่ตารางไหนครับ

... ตาราง opdscreen ครับ

    Field ที่ชื่อขึ้นต้นด้วย  advice ...  :D ...
 
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 21, 2013, 11:22:37 AM
ขอวิธีสร้าง เชคบล็อกครับ
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ มีนาคม 21, 2013, 12:05:38 PM
แนวๆ  นี้ครับ....วาง labelไว้ แล้วใช้หลักการ visible รูป
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: Khuad ที่ มีนาคม 21, 2013, 12:30:27 PM
ขอวิธีสร้าง เชคบล็อกครับ

... เอาแบบง่ายๆ เลยนะครับ

    ลองใช้การวาง variable แล้วใส่คำสั่งให้แสดงเป็น ตัวอักษร X ถ้าตัวเลือกนั้นถูกเลือก 


    ยกตัวอย่าง ตัวเลือก การใช้ยา ซึ่งข้อมูลจะอยู่ที่ field ที่ชื่อ advice1 ในตาราง opdscreen นะครับ

    ให้เราไปตรวจสอบดูก่อนว่า ในคำสั่งของรายงาน เราได้ดึงข้อมูลของ field ที่ชื่อ advice1 ในตาราง opdscreen เข้ามาในรายงานหรือยัง
     ถ้ามีแล้ว เราก็จะเจอ DBPipeline ที่ชื่อ advice1 อยู่ หรืออาจจะเป็นชื่ออื่น ขึ้นอยู่กับว่า ในคำสั่งรายงาน เรามีการระบุชื่อของ advice1 เป็นชื่ออื่นหรือเปล่า

     ก็ให้วางคำสั่งใน variable เป็น
----------------------------------------------------------------------------------------------------
if DBPipeline['advice1'] = 'Y' then
Value := 'X'
else
Value := '';
----------------------------------------------------------------------------------------------------
   
     หรือ ถ้าในคำสั่งเราไม่ได้ join ตาราง opdscreen ไว้ แต่เรามีข้อมูล DBPipeline ที่เป็น vn อยู่

     ก็ให้วางคำสั่งใน variable เป็น
----------------------------------------------------------------------------------------------------
 if GetSQLStringData('select advice1 from opdscreen where vn = "'+DBPipeline['vn']+'" ') = 'Y' then
 Value := 'X'
 else
 Value := '';
----------------------------------------------------------------------------------------------------


    ถ้าตอนลงบันทึกข้อมูล มีการติ๊กเลือกที่ การใช้ยา ที่หน้าต่าง ให้คำแนะนำ
    ตัว variable ที่เราวางไว้ ก็จะแสดงผลเป็น ตัวอักษร X ถ้าไม่เลือกก็จะว่าง  เราก็แค่ปรับตำแหน่งของ variable ตัวนี้ให้เวลาที่แสดงผลเป็น ตัวอักษร X แล้วอยู่ตรงช่องที่เราต้องการแค่นั้นครับ ...

    ...  :D ...
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: มนตรี บอยรักยุ้ยคนเดียว ที่ มีนาคม 21, 2013, 12:46:49 PM

... เอาแบบง่ายๆ เลยนะครับ

   

เทพเลย
หัวข้อ: Re: สอบถามคับ
เริ่มหัวข้อโดย: ploykot ที่ มีนาคม 21, 2013, 13:11:09 PM
ขอบคุณครับ