เปรียบเทียบเวลา
กระทู้เก่าบอร์ด อ.Yeadram

 2,253   3
URL.หัวข้อ / URL
เปรียบเทียบเวลา

ถ้าต้องการทราบว่าช่วงเวลาอยู่ในช่วงที่เรากำหนดหรือไม่ เช่น ระหว่าง 0750 - 1345 น. ต้องเขียน code .ใน VBA ยังไงครับ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R09077
อาจต้องเขียนฟังก์ชั่นใช้เองครับ
เพราะอาจต้องแปลงชนิดข้อมูลให้เป็นแบบเดียวกันก่อนค่อยเปรียบเทียบ
ตัวอย่างการแปลงเป็น date/time ก่อนจะเปรียบเทียบ
Function BetweenTime(yTime As Date, period As String) As Integer
Dim bgTime, fnTime As Date
bgTime = TimeSerial(CInt(Left(period, 2)), CInt(Mid(period, 3, 2)), 0)
fnTime = TimeSerial(CInt(Left(Right(period, 4), 2)), CInt(Right(period, 2)), 0)
BetweenTime = False
If yTime >= bgTime And yTime <= fnTime Then BetweenTime = True
End Function


ตัวอย่างการแปลงเป็น number ก่อนเปรียบเทียบ
Function BwTime(yTime As String, period As String) As Integer
BwTime = False
If CLng(yTime) >= CLng(Left(period, 4)) And _
CLng(yTime) <= CLng(Right(period, 4)) Then BwTime = True
End Function


ตัวอย่างการเรียกใช้งานฟังก์ชั่น
Dim pr As String
pr = "0745 - 1330"
Debug.Print BetweenTime(#7:50:00 AM#, pr)
Debug.Print BwTime("0750", pr)
2 @R09079
ขอบคุณครับ ทีแรกคิดว่ามีฟังก์ชั่นใช้งานแบบเปรียบเทียบวันที่ได้ตรงๆ
3 @R20404
ถ้าเราคีย์ วัน-เดือน-ปี ลงใน Form แล้วอยากรู้ว่า
    - ถ้าปีหน้า (วัน-เดือน ข้างต้นแล้ว) จะเป็นวันอะไร? Monday or Tuesday.....
    - ว.ด.ป.ข้างต้น เป็นสัปดาห์ที่เท่าไรของปี
    - ว.ด.ป.ข้างต้น เป็น quater ที่เท่าไรของปี
    - วันแรกของปีข้างต้นเป็นวันอะไร
    - วันสุดท้ายของปีข้างต้นเป็นวันอะไร

    
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2604s