在Access中計算兩個日期之間的工作日天數(shù)

字號:

雖然看起來是一個小問題,但很不幸的是在Access中沒有直接的函數(shù)支持(Excel中有一個現(xiàn)成的函數(shù):NETWeekdays)。所以非得自己做點開發(fā)
    第一步:創(chuàng)建一個自定義的函數(shù)
    Public Function WeekDayCount(firstDate As Date, LastDate As Date) As Integer
    '計算工作日天數(shù)
    On Error GoTo Err:
    Dim i As Integer
    Dim TempDate As Date    '臨時日期
    Dim Tempts As Long
    Tempts = DateDiff("d", firstDate, LastDate)
    For i = 0 To Tempts
    TempDate = DateAdd("d", i, firstDate)
    Select Case Format(TempDate, "w")
    Case 2, 3, 4, 5, 6
    WeekDayCount = WeekDayCount + 1
    End Select
    Next
    Err:
    Exit Function
    End Function來源:考試大的美女編輯們
    第二步:然后在查詢中使用如下語句
    SELECT WeekDayCount(開始日期,結(jié)束日期) AS 工作日天數(shù), *
    FROM orders;