Thủ Thuật Access

Thế Giới Thủ Thuật với Access

Tính ngày làm việc thực tế giữa khoảng thời gian

Posted by Noname on 19.12.2009

Rất nhiều nhà quản lý kế hoạch ( planning) muốn tính ngày làm việc thực tế giữa hai khoảng thời gian.
Dưới đây mình xin giới thiệu đoạn code tính ngày làm việc thực tế. Trừ thứ 7 và chủ nhật. Mời các bạn tham khảo.

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 EndDate <= StartDate Then
            CalcWorkdays = 0
        Else
            LTotalDays = DateDiff(“d”, StartDate – 1, 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

Chú ý:
1/Nếu chúng ta làm luôn thứ bảy thì thay thế:

CalcWorkdays = LTotalDays – LSaturdays – LSundays

Thành:

CalcWorkdays = LTotalDays -LSundays

 2/ Phạm vi hàm này không bao gồm ngày lễ. Lẽ ra mình có thể thiết kế tính luôn ngày lễ nếu như chúng ta không có nghỉ tết âm lịch và giỗ tổ Hùng Vương. Mình sẽ bổ sung nếu tìm thấy module chuyển ngày dương thành âm lịch!

Thân mến!

Một phản hồi to “Tính ngày làm việc thực tế giữa khoảng thời gian”

  1. Noname said

    Bổ sung Demo:https://sites.google.com/site/thuvienthuthuat/home/tinhngaylamviec.rar?attredirects=0&d=1

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

 
%d bloggers like this: