หาข้อมูลวันหยุด
กระทู้เก่าบอร์ด อ.Yeadram

 2,021   1
URL.หัวข้อ / URL
หาข้อมูลวันหยุด

คือผมมี Field วันที่ อยู่ 2 Field ได้แก่ วันที่เริ่มต้น และ วันที่สิ้นสุด ผมก็นำมาคำนวนหาวินาทีของค่า Diff

ผมสามารถหักวัน เสาร์-อาทิตย์ ตามระบบ เครื่องได้แล้ว ปัญหาของผมคือ
ผมจะหาวันที่เป็นวันหยุดได้อย่างไร ผมสมมุติว่า
วันเริ่มต้นของผมคือวันที่ 5 เมษายน วันที่สิ้นสุดคือวันที่ 18 เมษายน
ต้องการการนับว่า ในช่วงเวลาดังกล่าว มีวันหยุดนักขัตฤกษ์กี่วัน
ซึ่งผมรู้แล้วว่ามีวันที่ 6,9,13,16 เมษา แต่ด้วยข้อมูลผมมีเป็นพันรายการ ผมจะสามารถเลือกว่า Transaction ไหนมีวันหยุดบ้างครับ ซึ่งผลที่แสดงอยู่ใน Field A นับว่า เป็นจำนวนวัน อย่างตัวอย่างก็ออกมา 4 วัน ผมก็เอาวัน *60*60 ก็จะได้
86,400 วินาที คูณอีก 4 วันตามที่ count ได้ ก้จะได้ 345,600 วินาที่ ไปหักออกจาก 1,123,200 วินาที่ ก็จะได้วันทำงานจริง

ลืมไปว่า ผมได้ทำหักวันทำงานเสาร์-อาทิตย์แล้ว โดยใช้ Script ดังนี้
Function CalcWorkdays(StartDate, EndDate) As Integer

    Dim LTotalDays As Integer
    Dim LSaturdays As Integer
    Dim LSundays As Integer

    On Error GoTo Err_Execute

    CalcWorkdays = 0

    If IsDate(StartDate) And IsDate(EndDate) Then
        If DateValue(EndDate) <= DateValue(StartDate) Then
            CalcWorkdays = 0
        Else
            LTotalDays = DateDiff("d", StartDate, EndDate)
            LSaturdays = DateDiff("ww", StartDate - 1, EndDate, 7)
            LSundays = DateDiff("ww", StartDate - 1, EndDate, 1)

            'Workdays is the elapsed days excluding Saturdays and Sundays
            CalcWorkdays = LTotalDays - LSaturdays - LSundays

        End If
    End If

    Exit Function

Err_Execute:
    'If error occurs, return 0
    CalcWorkdays = 0

End Function


ดังนั้นอยากทราบจากผู้ชำนาญการ ช่วยบอกผมที่ว่า ผมต้องทำอย่างไรให้ได้ Filed ที่นับวันหยุด นักขัตฤกษ์ (ซึ่งในหัวผมคิดว่า ผมต้องสร้าง Table วันที่ โดยให้มี Format เดียวกับ วันที่ผมกำหนดด้วยเช่นกัน เพื่อจะได้ Refer ให้ข้อมูลเหล่านี้เป็นวันหยุดแล้วไป check กับ ฐานข้อมูลครับ

ขอบคุณครับ


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

1 @R12688
แนวทางคือ
1. ใช้ฟังก์จากลิงค์นี้ ทำการนับวันหยุด เสาร์ อาทิตย์ มาก่อน
กดที่นี่
2. อาจกระทู้นี้ต่อเพื่อสร้างฟังก์ชั่นการนับตารางวันหยุด นักขัตฤกษ์
Reply by yeadram (R01491)
กดที่นี่

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