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

字號(hào):

雖然看起來(lái)是一個(gè)小問(wèn)題,但很不幸的是在Access中沒(méi)有直接的函數(shù)支持(Excel中有一個(gè)現(xiàn)成的函數(shù):NETWeekdays)。所以非得自己做點(diǎn)開(kāi)發(fā)
    第一步:創(chuàng)建一個(gè)自定義的函數(shù)
    Public Function WeekDayCount(firstDate As Date, LastDate As Date) As Integer
    '計(jì)算工作日天數(shù)
    On Error GoTo Err:
    Dim i As Integer
    Dim TempDate As Date    '臨時(shí)日期
    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來(lái)源:考試大的美女編輯們
    第二步:然后在查詢中使用如下語(yǔ)句
    SELECT WeekDayCount(開(kāi)始日期,結(jié)束日期) AS 工作日天數(shù), *
    FROM orders;