มี trick มาอีกแล้วครับ
กรณีต้องการใส่คำที่ต้องการลงไป เช่น ในตัวแปรวันที่
ระหว่างวันที่ xx mm yy ถึงวันที่ xx mm yy
หลายคนจะใช้ label เพื่อใส่คำว่า ระหว่างวันที่ กับ ถึงวันที่ นำหน้า variable ที่เป็นวันที่ ทั้ง 2 ตำแหน่ง ดังนั้นจะมี parameter รวม 4 ตัว (2 label + 2 date variable)
ผมไม่ชอบใช้อะไรที่มากมาย ดังนั้นผมจะไม่ใส่ label เพื่อให้มีคำว่า ระหว่างวันที่ และ ถึงวันที่ แต่ผมจะไปกำหนด display format ของ date variable เลยครับ โดยใส่เป็น ระหว่างวันที่ d mmm ee กับ ถึงวันที่ d mmm ee ก็จะได้ออกมาเหมือนกันครับ
บางครั้งอาจจะมีตัวอักษรบางตัวที่ถูกเปลี่ยนค่าไป เช่น
ผมทำ FORM-Sticker-OPD-Prepack โดยระบุวันหมดอายุของยาไว้ด้วย แล้วใส่คำว่า วันหมดอายุ (Exp. Date) ลงใน display format เป็น วันหมดอายุ (Exp. Date) d mmm ee คราวนี้เกิดปัญหาขึ้นมาว่า ตัว E ของคำว่า Exp. ถูกแปลงเป็น "ค่าของ พ.ศ." และตัว D ของคำ date ถูกแปลงเป็น "ค่าของวันที่"
ก็เลยต้องแก้ปัญหาด้วยการใช้ double quote (หรือเครื่องหมายคำพูดนั่นแหละ) ดังนั้นตอนกำหนด display format ของวันหมดอายุ จะใส่เป็น
วันหมดอายุ ("E"xp. "D"ate) d mmm ee
หรือ
"วันหมดอายุ (Exp. Date) "d mmm ee
แบบนี้ไปเลยก็ได้ครับ
ได้ความรู้อีกแล้วครับเป็นอีกแนวทางที่ไม่ต้องเพิ่ม label และ variable ให้มากครับ
ขอเพิ่มให้อีกสัก 1 แนวทางละกันครับ
ใช้ Variable 1 ตัว โดยใส่ code เป็น
Value := 'ระหว่างวันที่ ' + FormatDateTime("dd mm eeee",date1) + ' ถึงวันที่ ' + FormatDateTime("dd mm eeee",date2);
โดย date1,date2 คือค่าที่ได้มาจากการใช้ฟังก์ชัน GetDateRangeDialog(date1,date2)