ถ้าจะ Fix ไว้ที่ 4 วันก็เขียนแบบกำปั้นทุบดินไปเลยครับ
procedure GlobalOnCreate;
var date1,date2,date3,date4:TDateTime ;
str_date:String;
begin
Showmessage('àÅ×Í¡Çѹ·Õè¤ÃÑ駷Õè 1 áÅÐ 2');
GetDateRangeDialog(date1, date2);
Showmessage('àÅ×Í¡Çѹ·Õè¤ÃÑ駷Õè 3 áÅÐ 4');
GetDateRangeDialog(date3, date4);
str_date := '"'+FormatDateTime('yyyy-mm-dd',date1) +'","'+ FormatDateTime('yyyy-mm-dd',date2)+'","'+FormatDateTime('yyyy-mm-dd',date3)+'","'+FormatDateTime('yyyy-mm-dd',date4)+'"';
Showmessage(str_date);
ChangeReportSQL(
' select o.vstdate,concat(p.pname,p.fname," ",p.lname) as ptname ,o.vsttime '+
' from ovst o '+
' left outer join vn_stat v on v.vn = o.vn '+
' left outer join patient p on p.hn = o.hn '+
' where o.vstdate in('+str_date+') '+
' and o.pt_subtype = 1 '+
' order by o.vstdate,o.vsttime '
);
end;
แต่ถ้าไม่ Fix ไว้ที่ 4 วันก็แก้อีกนิด ใส่ Loop while ครอบ หาเงื่อนไขในการหยุด แล้วในแต่ละรอบก็เอา String ไปต่อครับ