该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明! 陈希章原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/05/06/1450603.html原文标题:在Access中计算两个日期之间的工作日天数 原文发表:2009/5/6 5:12:00 |
虽然看起来是一个小问题,但很不幸的是在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;
作者:陈希章 出处:http://blog.csdn.net/chen_xizhang 本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |