BMS-HOSxP Community

HOSxP => Report Exchange => ข้อความที่เริ่มโดย: Svl2Nuk3 ที่ กรกฎาคม 09, 2009, 10:17:28 AM

หัวข้อ: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ กรกฎาคม 09, 2009, 10:17:28 AM
อยากทราบว่าถ้าเราต้องการกำหนดรูปแบบที่ไม่มีให้เลือก  มีแนวทางการกำหนดยังไงบ้างครับ
และที่สงสัยคือ
  !  หมายความว่าอะไร
  9 หมายความว่าอะไร   
  0 หมายความว่าอะไร
  \- ใช่ - หรือเปล่าครับ

การนำไปใช้  9  นำหน้า  และ  0  นำหน้า   ต่างกันยังไง

ขอบคุณมากครับ  พอดี search แล้วไม่เจอครับ
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: James011 ที่ กรกฎาคม 09, 2009, 12:53:23 PM

อยากทราบว่าถ้าเราต้องการกำหนดรูปแบบที่ไม่มีให้เลือก  มีแนวทางการกำหนดยังไงบ้างครับ
และที่สงสัยคือ
  !  หมายความว่าอะไร
  9 หมายความว่าอะไร   
  0 หมายความว่าอะไร
  \- ใช่ - หรือเปล่าครับ

การนำไปใช้  9  นำหน้า  และ  0  นำหน้า   ต่างกันยังไง

ขอบคุณมากครับ  พอดี search แล้วไม่เจอครับ


 ;D ;D ;D
********    0  หมายถึง   ค่าตัวเลข 0  ถึง 9 อย่างเดียว
********    9  หมายถึง  ค่าตัวเลข 0 ถึง 9  หรือ ค่าว่าง ก็ได้
 
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: udomchok ที่ กรกฎาคม 10, 2009, 09:08:42 AM
  !  หมายความว่าอะไร
ให้เรียงชิดขวาก่ิอน ปกติตัวเลขจะเรียงชิดซ้่ายใช่ไหมครับ หากใส่ ! นำแปลว่าตัวเลขจะอยู่ชิดทางขวาครับ
เช่น ปกติ
123456
123
ถ้าใช้ ! นำไจะได้เป็น
           123456
                 123
แบบนuhครับ

  \- ใช่ - หรือเปล่าครับ
ใช่ครับ เป็นการกำหนดว่าต้องการใส่อักขระใดเป้นพิเศษก็ให้เอา \ นำหน้าครับ

อีกอันที่ผมชอบใช้ คือ การใส่ลำดับแบบมีจุดต่อท้ายครับ เช่น
1. aaaaaaaaaaaaaaaa
2. bbbbbbbbbbbbbb
3. cccccccccccccccc
แบบนี้ครับ
ซึ่งตรงที่แสดงเลขลำดับได้มาจาก DBCalc โดยใช้ count(*) ครับ ส่วนใหญ่แล้วเท่าที่เห็นไม่มีใครใส่จุดต่อท้าย ผมเลยลองทำดูโดยใช้ display format 0. ก็ไม่ได้ 0\. ก็ไม่ได้ ลองแบบ 0"." ได้ครับ
ลองดูตัวอย่างในรานงานครับ
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ กรกฎาคม 28, 2009, 23:05:13 PM
ขอบคุณทั้ง 2 ท่านครับ  กระจ่างเลย
หลังจากลองผิดลองถูกมานาน    ;D
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: thannawe ที่ กรกฎาคม 28, 2009, 23:09:17 PM
ขอบคุณทั้ง 2 ท่าน มากๆ ครับ ;)
เข้าใจเพิ่มขึ้นแล้ว ;D
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: udomchok ที่ กรกฎาคม 29, 2009, 23:21:18 PM
มี 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
แบบนี้ไปเลยก็ได้ครับ
หัวข้อ: Re: ถามเรื่อง DisplayFormat ครับ
เริ่มหัวข้อโดย: Svl2Nuk3 ที่ กรกฎาคม 30, 2009, 08:51:25 AM
มี 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)

 ;D