ตอบ

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.
ชื่อ:
อีเมล์:
หัวข้อ:
ไอค่อนข้อความ:

กันการสแปม
คำนำหน้านามของผู้ชายไทยคือ


shortcuts: กด alt+s เพื่อตั้งกระทู้ หรือ alt+p แสดงตัวอย่าง


สรุปหัวข้อ

ข้อความโดย: suwachai
« เมื่อ: 05/05/15 »

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