BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: panus_t ที่ พฤศจิกายน 29, 2012, 09:09:48 AM

หัวข้อ: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 29, 2012, 09:09:48 AM
สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ ไม่ทราบว่าต้องแก้ไขตรงไหนครับ
ตอนแรกเขียนคำสั่ง SQL ที่ Calc -> Events -> onCreate  ก็แสดงวันที่แค่ครั้งเดียว แต่พอเปลี่ยนมาเขียนคำสั่ง SQL ที่ข้างนอก (SQL Statement) เพื่อให้รายงานสามารถส่งออกเป็น Excel ได้... ;D
หัวข้อ: Re: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: udomchok ที่ พฤศจิกายน 30, 2012, 00:52:47 AM
ลบชุดคำสั่งที่อยู่ใน tab Calc ออกหรือยังครับ
หัวข้อ: Re: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: panus_t ที่ พฤศจิกายน 30, 2012, 08:39:41 AM
ลบชุดคำสั่งที่อยู่ใน tab Calc ออกหรือยังครับ

ลบแล้วครับ   ;D
หัวข้อ: Re: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: udomchok ที่ ธันวาคม 04, 2012, 23:36:57 PM
ลบแล้วครับ   ;D
ลบแล้ว ก็ไม่น่าจะมีปัญหาแล้วใช่ไหมครับ

ที่ผม download มาดูก็เป็นดั่งที่คาดจริง ๆ ใส่
GetDateRangeDialog(dt1, dt2);
T1:=formatdatetime('yyyy-mm-dd',dt1);
T2:=formatdatetime('yyyy-mm-dd',dt2);
ไว่ใน tab calc, event, on create
มันก็เลยขึ้นมาให้ใส่วันที่อีกครั้ง
Click ขวาที่ OnCreate แล้วเลือก Delete ได้เลยครับ

กับตรง Declaration, variables จะลบตัวแปรที่ประกาศออกด้วย ก็ดีครับ
หัวข้อ: Re: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: panus_t ที่ ธันวาคม 06, 2012, 08:46:30 AM
ลบแล้วครับ   ;D
ลบแล้ว ก็ไม่น่าจะมีปัญหาแล้วใช่ไหมครับ

ที่ผม download มาดูก็เป็นดั่งที่คาดจริง ๆ ใส่
GetDateRangeDialog(dt1, dt2);
T1:=formatdatetime('yyyy-mm-dd',dt1);
T2:=formatdatetime('yyyy-mm-dd',dt2);
ไว่ใน tab calc, event, on create
มันก็เลยขึ้นมาให้ใส่วันที่อีกครั้ง
Click ขวาที่ OnCreate แล้วเลือก Delete ได้เลยครับ

กับตรง Declaration, variables จะลบตัวแปรที่ประกาศออกด้วย ก็ดีครับ

เข้าใจแล้วครับ
ผมลบ เฉพาะคำสั่ง SQL Select ครับ....ถ้าลบด้วยแปรด้านบนด้วย ผมจะแสดงวันที่ หรือใช้ตัวแปรตัวไปครับ  ;D ยังไม่ทราบวิธีครับ.. ;D
หัวข้อ: Re: สอบถามของผมตัวนี้ขึ้นให้เลือกวันที่ 2 ครั้งครับ
เริ่มหัวข้อโดย: BBT Hospital ที่ ธันวาคม 06, 2012, 20:59:54 PM
GetDateRangeDialog(dt1, dt2);
T1:=formatdatetime('yyyy-mm-dd',dt1);
T2:=formatdatetime('yyyy-mm-dd',dt2);
ไว่ใน tab calc, event, on create
มันก็เลยขึ้นมาให้ใส่วันที่อีกครั้ง
Click ขวาที่ OnCreate แล้วเลือก Delete ได้เลยครับ

GetDateRangeDialog(dt1, dt2); เป็นการเก็บค่าวันที่เริ่มต้นและสิ้นสุด
T1, T2 เป็นการกำหนดการแสดงวันที่แบบ คศ 4 หลัก-เดือน 2 หลัก -วัน2 หลัก
เช่น 9 ธค. 2555 ก็เก็บเป็น 2012-12-09 ในรูปแบบตัวแบบตัวอักษรครับ
ดังนั้น ถ้าเรากำหนด อยู่ใน คำสั่ง sql ด้านนอกโดยใส่เป็น Parameter วันที่ 2 ตัว ก็จะสามารถดึงค่า
ตัวแปร ออก มาโดยใช้
st1:=GetUserParameter(0); --เมื่อกำหนด st1 เป็น String;
ก็จะได้วันที่ เริ่มต้นมาเก็บไว้ในรูปแบบตัวอักษรได้เช่นเดียวกันครับ
เช่นในหน้า sql ใส่ไว้เป็น
select vn from vn_stat v
where vstdate between "2012-12-07" and "2012-12-08"
ถ้าเราเลือกวันที่เป็นวันที่ข้างต้น
แล้วใน หน้า design ในแถบ calc เราใส่คำสั่ง
st1:=GetUserParameter(0);
ก็จะได้ว่า st1 มีค่าเท่ากับ  2012-12-07 ครับ