ผมกำลังจะทำรายงานแต่อยากได้วิธีการเขียนสคลิ๊ป ที่สามารถให้ผู้ทำงานงานเลือกช่วงรายงาน เป็น เดือนและปี โดยไม่ต้องเลือกวัน จะสามารถทำได้มั้ยครับ อยากขอดูตัวอย่างหน่อยครับ
ผมว่าถ้าเขียนให้เลือกเดือนอย่างเดียวปีต่อไปรายงานตัวนี้อาจจะนะครับ(อาจจะใช้ประโยชน์ไม่ได้ในปีต่อไป)แต่ถ้าเราเขียนให้เลือกปีแล้วเปรียบเทียบแต่ละเดือนน่าจะเป็นประโยชน์ในปีต่อๆไปและย้อนหลังด้วย ยังไงรอ อ.อ็อด อ.MN อ.นาจ อ.วุธ อ.ขวด comment อีกทีครับ
ร่ายยาวแต่จะบอกว่าตัวเองเขียนได้เฉพาะเลือกปีครับ
อยากเขียนเลือกได้ทั้งเดือน ทั้งปี ได้เหมือนกันรบกวนท่าน อ.ทั้งหลาย แนะนำด้วยครับ
อันนี้คือตัวอย่างแบบมั่วๆ ของผมครับ
begin
d1 :=GetSQLDateData('select min(refer_date) from referout');
d2 :=GetSQLDateData('select max(refer_date) from referout');
ds1 := formatdatetime('yyyy-mm-dd',d1);
ds2 := formatdatetime('yyyy-mm-dd',d2);
fyear := GetPickupList('select distinct(year(refer_date)) + 543 as cc ,refer_date from referout'+
' where refer_date between "'+ds1+'" and "'+ds2+'"'+
' group by cc'+
' order by cc' );
year := fyear;
fyear := inttostr(strtoint(fyear) - 543) ;
fyear := inttostr(strtoint(fyear) - 1) ;
fyear := inttostr(strtoint(fyear) + 1) ;
m1 := fyear+'-01-01" and "'+ fyear+'-01-31';
m2 := GetSQLStringData('select Date_Add("'+ fyear+'-01-31",interval 1 month) as d');
m2 := fyear+'-02-01" and "'+ m2 ;
m3 := fyear+'-03-01" and "'+ fyear+'-03-31';
m4 := fyear+'-04-01" and "'+ fyear+'-04-30';
m5 := fyear+'-05-01" and "'+ fyear+'-05-31';
m6 := fyear+'-06-01" and "'+ fyear+'-06-30';
m7 := fyear+'-07-01" and "'+ fyear+'-07-31';
m8 := fyear+'-08-01" and "'+ fyear+'-08-31';
m9 := fyear+'-09-01" and "'+ fyear+'-09-30';
m10 := fyear+'-10-01" and "'+ fyear+'-10-31';
m11 := fyear+'-11-01" and "'+ fyear+'-11-30';
m12 := fyear+'-12-01" and "'+ fyear+'-12-31';