Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

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

时 间:2022-05-28 09:00:10
作 者:杨雪   ID:42182  城市:南京
摘 要:自定义一个函数来确定两个日期之间的工作天数。
正 文:

      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交流群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助