Thursday, November 29, 2012
การเขียน Script เพื่อใช้งาน GetPickupList ใน Report Bulider
การเขียน Script เพื่อใช้งาน GetPickupList ใน Report Bulider
ใน Report Designer จจะมี function ที่ชือว่า GetPickupList(); หลายคนอาจเคยใช้ แต่หลายคนก็ยังใช้ไม่ค่อยเป็นเลยนำ วิธีการใช้งานมาฝากครับ
ผมประกาศ ตัวแปลตัวหนึ่งขึ้นชื่อว่า pttype เป็น string ครับ จากนั้นก็เริ่มกันเลยครับ
ผมเขียนในส่วนของ Events นะครับ
pttype := GetPickupList('select "ALL" as name union select name from pttype '); // อาจจะมีคำถามถามว่า แล้ว Union นี้คืออะไร มันก็คือการเอา คำว่า ALL ไปรวมอยู่กับการเลือกสิทธิไงครับ ต่อเลยนะครับ
จากนั้นก็ต่อด้วย
if (pttype='') or (pttype='ALL') then
begin
pttype := '';
end else
begin
pttype := GetSQLStringData('select pttype from pttype where name="'+pttype+'" ');
pttype := ' pttype="'+pttype+'"';
end;
เป็นการเทียบค่าที่ เลือกจาก function ข้างบนครับว่าเข้าเลือก ALL หรือค่าว่าง (คือไม่ได้เลือกนั่นเอง) ถ้าเลือกALL หรือค่าว่าง (คือไม่ได้เลือกนั่นเอง) pttype เท่ากับค่าว่าง แต่ถ้าเลือกสิทธิอื่นก็จะมาทำข้างล้างครับ
ตัวอย่างบรรทัด pttype := ' pttype="'+pttype+'"'; จะได้ pttype มีค่าเท่ากับ ' pttype="เลขสิทธิที่เลือก" ครับ
จากนั้นก็ใช้นี่เลยครับ function ChangeReportSQL(); //
ChangeReportSQL('select * from vn_stat '+
' where '+pttype+' '+
' group by vn order by vstdate ');
แค่นี้เราก็จะได้รายงานที่สามารถเลือกสิทธิของผู้ป่วยได้แล้วครับว่าจะดูผู้ป่วยทุกสิทธิ หรือ เฉพาะสิทธิที่เราเลือกแล้วครับ .....
-----------------------------------------------
.....By Admin@บ้านนอก รวบรวมจาก HOSxP.Net
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment