BMS-HOSxP Community

HOSxP => แจ้งปัญหา / ขอความช่วยเหลือ => ข้อความที่เริ่มโดย: cya ที่ มกราคม 28, 2008, 23:50:54 PM

หัวข้อ: การใช้ GetpickupList
เริ่มหัวข้อโดย: cya ที่ มกราคม 28, 2008, 23:50:54 PM
1.รบกวนอ.ช่วยยกตัวอย่างการใช้ GetpickupList เพิ่มเติมนะค่ะ
เมื่อกำหนด ตัวแปรแล้ว เอาไปใช้ต่อใน variable อย่างไร
เช่น tab Calc กำหนด s:string;
s:=GetpickupList ('select name from clinic')
ใน report จะให้เลือกขึ้นเฉพาะรายชื่อผู้ป่วยนัด ตามclinicที่เลือกจาก list
ใน variable   
    Value = Getsqlstringdata('select fname from patient p
  left outer join oapp o on o.hn=p.hn where o.clinic = s')
อย่างนี้ยังไม่ได้น่ะค่ะ   ไม่ทราบว่าต้องแก้ไขอย่างไรค่ะ
2.GetSQLStringData ต่างกับ GetSQLSubQueryอย่างไรค่ะ
3.ถ้าจะให้วันที่ขึ้นให้เลือกแค่วันเดียว ไม่เป็นช่วง จะทำได้อย่างไรคะ
ลอง ใช้GetDateRangedialog วันทีจะขึ้นให้เลือกเป็นช่วง
ลอง กำหนดให้วันที่เป็น parameter ตอนแรก ถ้ากำหนด parameter เดียวจะไม่มีวันที่ขึ้นให้เลือก ต้องกำหนดเป็น between 2008-01-15 and 2008-01-15  และให้ทั้งสองวันเป็น parameter จึงจะมีวันที่ขึ้นให้เลือกน่ะค่ะ
ขอบคุณมากค่ะ
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: nuttavut ที่ มกราคม 29, 2008, 04:23:03 AM
ลองประยุกต์ใช้ตามนี้ดูครับ

 wardname := getpickuplist('select name from ward order by name');
   ward := getsqlstringdata('select ward from ward where name = "'+wardname+'"');
   GetDateRangeDialog(date1, date2);
   rxdate1:=date1;
   rxdate2:=date2;
   
   icdx1:= inputquery('ใส่ข้อมูลรหัส ICD10 เริ่มต้น  ','');
       icdx2:= inputquery('ใส่ข้อมูลรหัส ICD10 สิ้นสุด  ','');
 
 
 changereportsql('select a.hn,a.an,a.pdx,i.name ,'+
 ' concat(p.pname,p.fname," ",p.lname)as ptname ,'+
 ' a.age_y,a.age_m ,a.pttype ,ptt.name '+
 ' from an_stat a '+
 ' left outer join icd101 i on i.code=a.pdx '+
 ' left outer join ward w on w.ward=a.ward '+
 ' left outer join patient p on p.hn =a.hn '+
 ' left outer join pttype ptt on ptt.pttype =a.pttype '+
 ' where a.dchdate between "'+formatdatetime('yyyy-mm-dd',rxdate1)+'" and "'+
      formatdatetime('yyyy-mm-dd',rxdate2)+'" '+
 ' and   a.pdx  between "'+icdx1+'" and "'+icdx2+'" '+
 ' and a.pdx is not null and a.pdx <>"" and a.ward ="'+ward+'" '+
 ' order by a.dchdate');
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: SrWooD ที่ มกราคม 29, 2008, 09:20:49 AM
3.ถ้าจะให้วันที่ขึ้นให้เลือกแค่วันเดียว ไม่เป็นช่วง จะทำได้อย่างไรคะ
ลอง ใช้GetDateRangedialog วันทีจะขึ้นให้เลือกเป็นช่วง
ลอง กำหนดให้วันที่เป็น parameter ตอนแรก ถ้ากำหนด parameter เดียวจะไม่มีวันที่ขึ้นให้เลือก ต้องกำหนดเป็น between 2008-01-15 and 2008-01-15  และให้ทั้งสองวันเป็น parameter จึงจะมีวันที่ขึ้นให้เลือกน่ะค่ะ

เคยคิดเหมือนกันครับ ว่าจะให้เลือกแค่วันเดียวต้องทำไง

สุดท้ายครับ มาจบที่ ก็ขึ้นให้เลือกวันตั้งต้นกับวันสิ้นสุดเหมือนปกติแหละครับ

แต่ตอนเลือกก็เลือกแต่วันเดียวครับ ง่ายดี

เผื่อไว้ด้วยครับ ถ้าต้องเลือกหลายวันขึ้นมาก็ไม่ต้องสร้างใหม่

หรือท่านอื่นมีความเห็นว่าอย่างไรครับ หรือมีวิธีทำอย่างไรครับ
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: cya ที่ กุมภาพันธ์ 01, 2008, 10:33:28 AM
changereportsql.........
พิมพ์ต่อเข้าไปที่หน้าต่างใน Calc-Module-Event-procedure ใช่ไหมคะ
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: nuttavut ที่ กุมภาพันธ์ 01, 2008, 11:09:33 AM
changereportsql.........
พิมพ์ต่อเข้าไปที่หน้าต่างใน Calc-Module-Event-procedure ใช่ไหมคะ

ทำตามรูปครับ...


และผมคิดว่าการกำหนดเป็น between 2008-01-15 and 2008-01-15  ก็น่าจะดีแล้วครับถ้าต้องการวันเดียวก็เลื่อกเป็นวันเดียวกัน..ถ้าต้องการเป็นช่วงก็เลือกได้โดยไม่ต้องทำรายงานใหม่....
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: cya ที่ กุมภาพันธ์ 01, 2008, 18:00:22 PM
อย่างนี้หรือเปล่าคะ
แต่ preview ไม่ออกน่ะค่ะ
ไม่ทราบว่าผิดตรงไหนค่ะ
ขอบคุณมากค่ะ
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: nuttavut ที่ กุมภาพันธ์ 01, 2008, 22:51:02 PM
อย่างนี้หรือเปล่าคะ
แต่ preview ไม่ออกน่ะค่ะ
ไม่ทราบว่าผิดตรงไหนค่ะ
ขอบคุณมากค่ะ

มี 2จุดที่ไม่ถูกต้อง ครับ

1. ตรงสีแดงแก้เป็น name

begin
     clinicname := getpickuplist('select name from clinic');
   clinic := getsqlstringdata('select clinic from clinic where clinic = "'+clinicname+'"');
     GetDateRangeDialog(date1,date2);
     ds1:=date1;
     ds2:=date2;
 changereportsql('select o.hn,concat(p.pname,p.fname," ",p.lname) as ptttname '+
  ' ,c.name from oapp o '+
 ' left outer join patient p on p.hn=o.hn '+
 ' left outer join clinic c on c.clinic=o.clinic'+
 ' where o.nextdate between "'+formatdatetime('yyyy-mm-dd',ds1)+'" and '+
 '"'+formatdatetime('yyyy-mm-dd',ds2)+'" '+
 ' and o.clinic ="'+clinic+'" '+
 ' order by right(o.hn,1),right(o.hn,2),right(o.hn,4),right(o.hn,3),right(o.hn,6),right(o.hn,5),right(o.hn,7)') ;

end;

2.ตรงสีแดงลบออก

begin

  Value := +formatdatetime('yyyy-mm-dd',ds1)+ +' '+ +formatdatetime('yyyy-mm-dd',ds2)+ ;

end;
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: cya ที่ กุมภาพันธ์ 04, 2008, 11:31:37 AM
ได้เรียนรู้เพิ่มขึ้นอีกแล้ว..
ขอบคุณมากค่ะ... :D
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กุมภาพันธ์ 06, 2008, 21:34:01 PM
http://hosxp.net/index.php?option=com_smf&Itemid=28&action=search2 (http://hosxp.net/index.php?option=com_smf&Itemid=28&action=search2)
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: เกื้อกูล ครับ.. ที่ กุมภาพันธ์ 06, 2008, 21:38:26 PM
ขออภัยครับ  ...ผิดพลาดครับ....
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: j102j ที่ กุมภาพันธ์ 09, 2010, 13:19:41 PM
ขอบคุณมากๆๆๆครับ ;D
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: akson ที่ มกราคม 17, 2011, 09:54:00 AM
ได้ความรู้เพิ่มอีกแล้ว
ขอบคุณอาจารย์ที่ตอบ และคนตั้งคำถาม ค่ะ ;D
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: saan ที่ มกราคม 17, 2011, 11:36:26 AM
พอจะมี อ. ท่านไหนมี แบบ สรุปเกี่ยวกับการนำ Function ใน HOSxP มาประยุกต์ใช้ แบบต่าง ๆ มั๊ยครับ กำลังศึกษาครับ
หัวข้อ: Re: การใช้ GetpickupList
เริ่มหัวข้อโดย: บิ๊กเบิร์ด ที่ พฤศจิกายน 21, 2013, 16:16:03 PM
พอจะมี อ. ท่านไหนมี แบบ สรุปเกี่ยวกับการนำ Function ใน HOSxP มาประยุกต์ใช้ แบบต่าง ๆ มั๊ยครับ กำลังศึกษาครับ

ถ้ารายงานไม่ได้ซับซ้อน ซ่อนเงื่อน ถึงขนาดต้องให้ โคนัน มือสืบคดีให้ หลักๆผมใช้ไม่เยอะครับ เช่น

GetDateRangDialog();

GetSQLStringData();

GetPickupList();

GetMultipleList();

ChangeReportSQL();

ประมาณนี้ครับ