BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: panus_t ที่ ตุลาคม 12, 2011, 15:02:09 PM

หัวข้อ: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: panus_t ที่ ตุลาคม 12, 2011, 15:02:09 PM
clinic:=GetPickupList('select name from clinic order by name');

ตรงนี้แสดงรายชื่อ Clinic ให้ผู้ใช้งานเลือก แล้วถ้าต้องการค่ารหัส clinic ที่ผู้ใช้เลือกทำไงครับ

ChangeReportSQL('select o.hn,o.vstdate,o.nextdate,o.nexttime,o.nexttime_end,o.clinic,c.name,o.depcode,k.department,o.doctor,d.name,o.app_user, '
+' concat(p.addrpart," ËÁÙè ",p.moopart," ",t.full_name) as addr,o.note '
+' from oapp o '
+' left outer join vn_stat v on v.vn=o.vn '
+' left outer join thaiaddress t on t.addressid=v.aid '
+' left outer join patient p on p.hn=o.hn '
+' left outer join clinic c on c.clinic=o.clinic '
+' left outer join kskdepartment k on k.depcode=o.depcode '
+' left outer join doctor d on d.code=o.doctor '
+' where o.nextdate between "'+ds1+'" and "'+ds2+'" and  o.clinic="018" ');
หัวข้อ: Re: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: BMS-Inventory Team ที่ ตุลาคม 12, 2011, 15:17:42 PM
ถ้าต้องการแทนค่ารหัสคลินิคในคำสั่ง SQL ก็ต้องสร้างตัวแปรเพิ่มขึ้นมาอีก 1 ตัวเพื่อเอาไว้รับค่าที่เป็นรหัสคลินิคจากการเลือกของ user แล้วจึงนำตัวแปรนั้นไปแทนค่าในคำสั่งหลักค่ะ ตัวอย่างนะคะ

clinic:=GetPickupList('select name from clinic order by name');
code:=GetSQLStringData('select clinic from clinic where name="'+clinic+'"')

ChangeReportSQL('select o.hn,o.vstdate,o.nextdate,o.nexttime,o.nexttime_end,o.clinic,c.name,o.depcode,k.department,o.doctor,d.name,o.app_user, '
+' concat(p.addrpart," ËÁÙè ",p.moopart," ",t.full_name) as addr,o.note '
+' from oapp o '
+' left outer join vn_stat v on v.vn=o.vn '
+' left outer join thaiaddress t on t.addressid=v.aid '
+' left outer join patient p on p.hn=o.hn '
+' left outer join clinic c on c.clinic=o.clinic '
+' left outer join kskdepartment k on k.depcode=o.depcode '
+' left outer join doctor d on d.code=o.doctor '
+' where o.nextdate between "'+ds1+'" and "'+ds2+'" and  o.clinic="'+code+'" ');
หัวข้อ: Re: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: panus_t ที่ ตุลาคม 12, 2011, 15:43:38 PM
รบกวนแก้ไขตัวรายงานให้หน่อยนะครับ เพราะ
ตอนนี้ผมย้ายคำสั่ง
ChangeReportSQL('select o.hn,concat(p.pname,p.fname," ",p.lname) as pt_name,o.vstdate,o.nextdate,o.nexttime,o.nexttime_end,o.clinic,c.name,o.depcode,k.department,o.doctor,d.name,o.app_user, '
+' concat(p.addrpart," หมู่ ",p.moopart," ",t.full_name) as addr,o.note '
+' from oapp o '
+' left outer join vn_stat v on v.vn=o.vn '
+' left outer join thaiaddress t on t.addressid=v.aid '
+' left outer join patient p on p.hn=o.hn '
+' left outer join clinic c on c.clinic=o.clinic '
+' left outer join kskdepartment k on k.depcode=o.depcode '
+' left outer join doctor d on d.code=o.doctor '
+' where o.nextdate between "'+ds1+'" and "'+ds2+'" and  o.clinic="'+clinic+'" ');

มาที่ช่อง SQL เป็น
select o.hn,concat(p.pname,p.fname," ",p.lname) as
pt_name,o.vstdate,o.nextdate,o.nexttime,o.nexttime_end,o.clinic,c.name,o.depcode,k.department,o.doctor,d.name,o.app_user,
concat(p.addrpart," ËÁÙè ",p.moopart," ",t.full_name) as addr,o.note
from oapp o
left outer join vn_stat v on v.vn=o.vn
left outer join thaiaddress t on t.addressid=v.aid
left outer join patient p on p.hn=o.hn
left outer join clinic c on c.clinic=o.clinic
left outer join kskdepartment k on k.depcode=o.depcode
left outer join doctor d on d.code=o.doctor
where o.nextdate between "2011-10-13" and "2011-10-13" and  o.clinic="018"

แทน select  "1" as cc

เพื่อที่ต้องการให้ข้อมูลที่ Select สามารถส่งออกเป็น Excel ได้ครับ
หัวข้อ: Re: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: BMS-Inventory Team ที่ ตุลาคม 12, 2011, 15:58:27 PM
ทำไมไม่ลองส่งออกเป็น EXEL โดยใช้ print to file ล่ะคะ จะได้ไม่ต้องย้ายคำสั่ง
หัวข้อ: Re: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: panus_t ที่ ตุลาคม 12, 2011, 16:03:24 PM
ทำไมไม่ลองส่งออกเป็น EXEL โดยใช้ print to file ล่ะคะ จะได้ไม่ต้องย้ายคำสั่ง

มันจะได้เฉพาะที่แสดงในตัวรายงานครับ ในคำสั่ง SQL ทั้งหมดมันมีมากกว่านั้น ครับ
หัวข้อ: Re: ถามเกี่ยวกับ GetPickupList
เริ่มหัวข้อโดย: BMS-Inventory Team ที่ ตุลาคม 12, 2011, 16:18:05 PM
แนะนำให้นำคำสั่งไปวางในแถบ Calc มากกว่าที่แถบ SQL นะคะ เนื่องจากว่าถ้าวางคำสั่งไปด้านนอก จะไม่สามารถใช้ function อื่นๆที่ต้องการได้