BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: (แอมป์) ทีร์ฆะ ติรัตนะ ที่ พฤศจิกายน 01, 2013, 11:03:27 AM

หัวข้อ: คำสั่งที่สามารถนำค่า parameter มาใส่ใน report
เริ่มหัวข้อโดย: (แอมป์) ทีร์ฆะ ติรัตนะ ที่ พฤศจิกายน 01, 2013, 11:03:27 AM
 รบกวนสอบถาม อ.ทุกท่าน คำสั่งที่สามารถนำค่า parameter มาใส่ใน report มีคำสั่งอะไรบ้างครับ เช่น ผมทำ parameter เป็นช่วงวันที่ไว้  vstdate between "2013-10-01" and "2013-10-31" ผมจะต้องใช้คำสั่งอะไรเพื่อนำค่าไปใส่ใน report ครับ หรือมีตัวอย่างให้บ้างมั้ยครับ ผมไม่อยากประกาศตัวแปลเพิ่มครับ ขอบคุณมากครับ
หัวข้อ: Re: คำสั่งที่สามารถนำค่า parameter มาใส่ใน report
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 03, 2013, 02:32:10 AM
GetUserParameter
  Text := 'ตั้งแต่วันที่ '+ISO2Date(GetUserParameter(0),'d mmmm yyyy')+' ถึงวันที่ '+ISO2Date(GetUserParameter(1),'d mmmm yyyy');
หัวข้อ: Re: คำสั่งที่สามารถนำค่า parameter มาใส่ใน report
เริ่มหัวข้อโดย: บิ๊กเบิร์ด ที่ พฤศจิกายน 21, 2013, 15:38:13 PM
ตัวอย่าง...เช่น
อ้างถึง
GetDateRangeDialog(date1, date2);
  ds1:=FormatDateTime('yyyy-mm-dd',date1);
  ds2:=FormatDateTime('yyyy-mm-dd',date2);
  w1:=GetPickupList('select name from ward where ward in("01","02") ');
  w2:=GetSQLStringData('select ward from ward where name="'+w1+'" ');
 
GetSQLStringData(' select a.*,concat(p.pname,p.fname,"  ",p.lname) as ptname  '+
' from ipt i  '+
' left outer join an_stat a on a.an =i.an  '+
' left outer join ward w on w.ward =a.ward '+
' left outer join patient p on p.hn=a.hn '+
' where a.regdate between "'+ds1+'" and "'+ds2+'" and i.ward="'+w2+'"');


1.เลือกใช้ function GetDateRangeDialog(date1, date2);

2.ไปประกาศตัวแปรที่ declaration
อ้างถึง
var
date1,date2 : datetime;
ds1,ds2,w1,w2 : string;


3.เลือกใช้ function  GetSQLStringData();
แล้วเขียนคำสั่ง SQL เข้าไปครับ ถ้าต้องการแยกบรรทัด ต้องใช้ตัวเชื่อมประโยค คือ เครื่องหมาย '+' เสมอ ครับ

4.ในช่วงวันที่ที่ผมต้องการผมก็เอาค่าตัวแปรที่ผมได้ประกาศไว้มาใส่ครับ เช่น
อ้างถึง
where a.regdate between " '+ds1+' " and " '+ds2+' "

หมายเหตุ : การนำค่าตัวแปร string มาใส่ ต้องใส่ค่าตัวแปร ระหว่างเครื่องหมาย " ' + + ' " เสมอ นะครับ