在Access中计算两个日期之间的工作日天数

虽然看起来是一个小问题,但很不幸的是在Access中没有直接的函数支持(Excel中有一个现成的函数:NETWeekdays)。所以非得自己做点开发

第一步:创建一个自定义的函数

Public Function WeekDayCount(firstDate As Date, LastDate As Date) As Integer
'计算工作日天数
    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(开始日期,结束日期) AS 工作日天数, *
FROM orders;

image

posted @   陈希章  阅读(4250)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示