【Access自定义函数】确定两个日期之间的工作日天数-杨雪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


【Access自定义函数】确定两个日期之间的工作日天数

发表时间:2022/5/28 9:00:10 评论(0) 浏览(2236)  评论 | 加入收藏 | 复制
   
摘 要:自定义一个函数来确定两个日期之间的工作天数。
正 文:
      Access没有内置函数来确定两个日期之间的工作天数。以下用自定义的函数说明如何计算两个日期之间的工作日数。

备   注:
此函数不考虑假日。


演示图:

点击图片查看大图


源   码:

Function Work_Days(BegDate As Variant, EndDate As Variant) As Integer 
 
 Dim WholeWeeks As Variant 
 Dim DateCnt As Variant 
 Dim EndDays As Integer 
 
 On Error GoTo Err_Work_Days 
 
 BegDate = DateValue(BegDate) 
 EndDate = DateValue(EndDate) 
 WholeWeeks = DateDiff("w", BegDate, EndDate) 
 DateCnt = DateAdd("ww", WholeWeeks, BegDate) 
 EndDays = 0 
 
 Do While DateCnt <= EndDate 
 If Format(DateCnt, "ddd") <> "Sun" And _ 
 Format(DateCnt, "ddd") <> "Sat" Then 
 EndDays = EndDays + 1 
 End If 
 DateCnt = DateAdd("d", 1, DateCnt) 
 Loop 
 
 Work_Days = WholeWeeks * 5 + EndDays 
 
Exit Function 
 
 Err_Work_Days: 
 
’如果BegDate或EndDate为Null,返回零
,表示这两个日期之间没有工作日。
 
 If Err.Number = 94 Then 
 Work_Days = 0 
 Exit Function 
 Else 
’如果发生其他错误,则提供一条消息。
 MsgBox "Error " & Err.Number & ": " & Err.Description 
 End If 
 
End Function


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【菜鸟入门】计算工龄,日期相减得出工作年限(周期)的示例\工作日示...  【麥田  2011/4/1】
Access计算两个日期之间的工作日天数的几个函数  【竹笛  2011/8/3】
[示例]计算某一段时间内的工作日和假日天数  【金宇  2012/5/12】
【Access自定义函数】当前月第一个工作日的示例,当前月最后一个...  【红尘如烟  2013/1/19】
根据节假日表计算两日期间的工作日天数、n个工作日后的工作日日期  【网行者  2013/6/22】
修正【自定义函数】取得指定日期指定工作日天数后的工作日期  【123木头人  2017/11/20】
【Access自定义函数】IsWorkDay判定某日期是否为工作日  【易勋  2021/7/8】
常见问答
技术分类
相关资源
文章搜索
关于作者

杨雪

文章分类

文章存档

友情链接