ผู้เขียน หัวข้อ: ถามเรื่อง DisplayFormat ครับ  (อ่าน 6648 ครั้ง)

0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
ถามเรื่อง DisplayFormat ครับ
« เมื่อ: กรกฎาคม 09, 2009, 10:17:28 AM »
0
อยากทราบว่าถ้าเราต้องการกำหนดรูปแบบที่ไม่มีให้เลือก  มีแนวทางการกำหนดยังไงบ้างครับ
และที่สงสัยคือ
  !  หมายความว่าอะไร
  9 หมายความว่าอะไร   
  0 หมายความว่าอะไร
  \- ใช่ - หรือเปล่าครับ

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

ขอบคุณมากครับ  พอดี search แล้วไม่เจอครับ
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ James011

  • Hero Member
  • *****
  • กระทู้: 1,743
  • Respect: +16
    • ดูรายละเอียด
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #1 เมื่อ: กรกฎาคม 09, 2009, 12:53:23 PM »
0

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

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

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


 ;D ;D ;D
********    0  หมายถึง   ค่าตัวเลข 0  ถึง 9 อย่างเดียว
********    9  หมายถึง  ค่าตัวเลข 0 ถึง 9  หรือ ค่าว่าง ก็ได้

 

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,358
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #2 เมื่อ: กรกฎาคม 10, 2009, 09:08:42 AM »
0
  !  หมายความว่าอะไร
ให้เรียงชิดขวาก่ิอน ปกติตัวเลขจะเรียงชิดซ้่ายใช่ไหมครับ หากใส่ ! นำแปลว่าตัวเลขจะอยู่ชิดทางขวาครับ
เช่น ปกติ
123456
123
ถ้าใช้ ! นำไจะได้เป็น
           123456
                 123
แบบนuhครับ

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

อีกอันที่ผมชอบใช้ คือ การใส่ลำดับแบบมีจุดต่อท้ายครับ เช่น
1. aaaaaaaaaaaaaaaa
2. bbbbbbbbbbbbbb
3. cccccccccccccccc
แบบนี้ครับ
ซึ่งตรงที่แสดงเลขลำดับได้มาจาก DBCalc โดยใช้ count(*) ครับ ส่วนใหญ่แล้วเท่าที่เห็นไม่มีใครใส่จุดต่อท้าย ผมเลยลองทำดูโดยใช้ display format 0. ก็ไม่ได้ 0\. ก็ไม่ได้ ลองแบบ 0"." ได้ครับ
ลองดูตัวอย่างในรานงานครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #3 เมื่อ: กรกฎาคม 28, 2009, 23:05:13 PM »
0
ขอบคุณทั้ง 2 ท่านครับ  กระจ่างเลย
หลังจากลองผิดลองถูกมานาน    ;D
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง

ออฟไลน์ thannawe

  • Hero Member
  • *****
  • กระทู้: 2,904
  • Respect: +8
    • ดูรายละเอียด
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #4 เมื่อ: กรกฎาคม 28, 2009, 23:09:17 PM »
0
ขอบคุณทั้ง 2 ท่าน มากๆ ครับ ;)
เข้าใจเพิ่มขึ้นแล้ว ;D
กิจจา ชาญธัญกรรม
นักวิชาการคอมพิวเตอร์ชำนาญการ รพ.โพธาราม จ.ราชบุรี
็HOSxP XE

ออฟไลน์ udomchok

  • Hero Member
  • *****
  • กระทู้: 8,358
  • Respect: +589
    • ดูรายละเอียด
    • ร.พ.สมเด็จพระสังฆราช องค์ที่ 17
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #5 เมื่อ: กรกฎาคม 29, 2009, 23:21:18 PM »
0
มี 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
แบบนี้ไปเลยก็ได้ครับ
ทำด้วยหัวใจร.พ.สมเด็จพระสังฆราช องค์ที่ 17 อ.สองพี่น้อง จ.สุพรรณบุรี
อบรมโดย BMS Team เมื่อ พ.ย. 49 ขึ้นระบบห้องบัตรเมื่อ X'Mas 2007
2008 : X-Ray กายภาพบำบัด แพทย์แผนไทย กิจกรรมบำบัด OPD ตา
2009 : ทันตกรรม ห้องตรวจตา OPD (พยาบาลและห้องตรวจแพทย์บางห้อง)

ออฟไลน์ Svl2Nuk3

  • Hero Member
  • *****
  • กระทู้: 793
  • Respect: 0
    • ดูรายละเอียด
Re: ถามเรื่อง DisplayFormat ครับ
« ตอบกลับ #6 เมื่อ: กรกฎาคม 30, 2009, 08:51:25 AM »
0
มี 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
I'm nuke (นุ๊ก)
My Blog  : http://www.codenuke.net
อดีต นวก.คอมฯ รพช.พรหมพิราม => 1 พ.ค. 52 - 30 ก.ย. 54
ปัจจุบัน : Software Engineer บริษัทแห่งหนึ่ง