รบกวนถามเรื่องการคำนวณวันและเวลาครับ
เช่น วันแรก 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")