ผู้เขียน หัวข้อ: การคำนวณจำนวนวันและเวลาครับ ใน access  (อ่าน 1040 ครั้ง)

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

suwachai

  • Administrator
  • Jr. Member
  • *****
  • กระทู้: 70
  • **กลุ่มต่อต้านการกระทำรุนแรงต่อสามี**
    • ดูรายละเอียด
    • อีเมล์
รบกวนถามเรื่องการคำนวณวันและเวลาครับ
เช่น วันแรก    1/3/54 08:00
       วันที่สอง 2/3/54 07:00
       ผลที่ได้ จำนวน 0 วัน 23 ชม.
หรือ วันแรก    1/3/54 08:00
       วันที่สอง 2/3/54 09:00
       ผลที่ได้ จำนวน 1 วัน 1 ชม.
เข้าใจว่าใช้คำสั่ง DateDiff() แต่ผลที่ได้ยังไม่ตรงตามความต้องการครับ ขอบคุณครับ

คำนวณระหว่างวัน Text1=1/3/54 08:00 ถึง Text2 2/3/54 07:00

อยากให้ Text3แสดง=จำนวนวัน
             Text4แสดง=จำนวนชั่วโมง

Text3 = DateDiff("d", Text1, Text2) ผลที่ได้ =1 วัน ที่ถูกต้องเป้น 0 เพราะว่ามีแค่ 23 ชม. ครับ


สาเหตุที่มันแสดงค่าออกมาเป็น 1 เข้าใจว่าฟังก์ชั่นใน Datediff นั้น คุณ dorn ใส่ ตัว Argument เป็น "d" ซึ่งหมายถึง day คือวัน ดังนั้นการคำนวณจึงไม่สนว่าจะ diff กันกี่ ชม. เป็นหลัก

แต่ฟังก์ชั่นคงจะคำนวณค่าเป็นวันแทนซึ่งเมื่อข้ามวันไปแล้ว จึงคิดเป็น 1 วัน แทนครับ ดังนั้นในตัวฟังก์ชั่น DateDiff จึงมีตัวรับค่า Argument ได้หลายแบบที่จะนำมาใช้ในการคำนวณและคืนค่าออกมานั่นเอง ลองศึกษาดูจากใน help ได้ครับ

หากต้องการให้คำนวณวันให้ถูกต้องตามความต้องการของคุณ ใน Text3 ให้ใส่นิพจน์ดังนี้ ครับ =Int(DateDiff("h",[Text1],[Text2])/24)
Text4 ก็ใส่นิพจน์แบบนี้ครับ =DateDiff("h",[Text1],[Text2])


Format(Text2 - Text1, "hh:nn:ss")