กระทู้เก่าบอร์ด อ.Yeadram
1,132 3
URL.หัวข้อ /
URL
การคำนวนหาจำนวนปีโดยมีทศนิยม 2 ตำแหน่ง
อยากรบกวนสอบถามวิธีการคำนวนหาจำนวนปีครับ โดยต้องการให้มีทศนิยม 2 ตำแหน่ง
ปัจจุบันผมใช้ datediff ซึ่งมันกำหนดค่าได้เป็นแค่ d,m,yyyy
โดยถ้ากำหนดเป็น yyyy ค่าจะขึ้นมาเป็นจำนวนปี แต่ไม่มีทศนิยมขึ้นให้
ในกรณีนี้ ไม่ทราบว่ามีวิธีการอื่นยังไงบ้างครับ ต้องขอรบกวนสอบถามอาจารย์ด้วย
ปัจจุบันผมใช้ datediff ซึ่งมันกำหนดค่าได้เป็นแค่ d,m,yyyy
โดยถ้ากำหนดเป็น yyyy ค่าจะขึ้นมาเป็นจำนวนปี แต่ไม่มีทศนิยมขึ้นให้
ในกรณีนี้ ไม่ทราบว่ามีวิธีการอื่นยังไงบ้างครับ ต้องขอรบกวนสอบถามอาจารย์ด้วย
3 Reply in this Topic. Dispaly 1 pages and you are on page number 1
2 @R18333
เคยใช้ 365 หารครับ แต่ติดปัญหาที่ค่าจะออกมาว่า 8.76712328767123E-02
ตามกระทู้ http://www.thai-access.com/yeadram_view.php?topic_id=4030
ซึ่งปัจจุบันยังหาวิธีแก้ไม่ได้เลยครับ T T
ตามกระทู้ http://www.thai-access.com/yeadram_view.php?topic_id=4030
ซึ่งปัจจุบันยังหาวิธีแก้ไม่ได้เลยครับ T T
3 @R18335
ใช้ Function Format ครับ
ตัวอย่างการใช้ Function Format() ครับ
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,
' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23) ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
MyStr = Format("HELLO", "") ' Returns "THIS IS IT".
========================================================
ซึ่งกรณีนี้ใช้แบบนี้ครับ
Format(x, "###0.00")
x = diffdate / 365 'ค่าวันที่เอามาหาร 365
========================================================
อ่านเพิ่มเติมครับ
http://msdn.microsoft.com/en-us/library/office/gg251755(v=office.15).aspx
ตัวอย่างการใช้ Function Format() ครับ
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s") ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") ' Returns "Wednesday,
' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23) ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00") ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00") ' Returns "334.90".
MyStr = Format(5, "0.00%") ' Returns "500.00%".
MyStr = Format("HELLO", "") ' Returns "THIS IS IT".
========================================================
ซึ่งกรณีนี้ใช้แบบนี้ครับ
Format(x, "###0.00")
x = diffdate / 365 'ค่าวันที่เอามาหาร 365
========================================================
อ่านเพิ่มเติมครับ
http://msdn.microsoft.com/en-us/library/office/gg251755(v=office.15).aspx
Time: 0.3282s
แต่ถ้าต้องการหาจำนวนปีก็ใช้ datediff เปฤ็นวันมาแล้วเอามาหาร 365 ครับแต่จำมีปัญหาในกรณีที่เป็นปีอธิกสุรทิน อันนี้รอ อาจารย์มาให้ความรู้เพิ่มครับ (แต่ถ้าทศนิยม 2 ตำแหน่งเอาแค่ datediff หาร 365 ก็น่าจะตอบโจทย์แล้วครับ)