您的位置:首页办公软件Access → 如何统计某个日期区间内星期天的个数

如何统计某个日期区间内星期天的个数

时间:2010/2/10 16:58:00来源:本站整理作者:我要评论(0)

如何统计某个日期区间内星期天的个数:

文章正文:
'功能:算出某个日期区间内星期天的个数
'作者:竹笛
'修改历史:2005/12/30
'未经严格测试,有问题请与作者交流

Function SundayCount(StartDate As Date, EndDate As Date) As Long
On Error GoTo Err_SundayCount:
Dim Days As Integer '区间天数
Dim FirstSunday As Date '第一个周日具体日期
Dim NextSunday As Date '下一个周日具体日期
Dim Myweekday As Integer
Dim i As Long
Dim j As Long
'确保日期都不为空,若为空则置为0
If Not IsNull(StartDate) And Not IsNull(EndDate) Then
'如果结束日期<开始日期,则为0
If EndDate >= StartDate Then
'如果天数大于7,则先确定第一个周日是哪个日期,再7天一加,直到大于结束日期
Days = EndDate - StartDate
' If Days > 7 Then
Myweekday = Weekday(StartDate) '算出是周几,星期天是1
If Myweekday > 1 Then
FirstSunday = StartDate + 8 - Myweekday
Else
FirstSunday = StartDate
End If
Debug.Print "最近的周日是: " & FirstSunday
NextSunday = FirstSunday + 7
i = 1
SundayCount = 1
For i = 1 To Days Step 7
Debug.Print "下一个周日是: " & NextSunday
If NextSunday > EndDate Then
If FirstSunday > EndDate Then
SundayCount = SundayCount - 1
End If
Debug.Print "周日数目是: " & SundayCount
Exit Function
End If
NextSunday = NextSunday + 7
i = i + 1
SundayCount = SundayCount + 1
Debug.Print "周日数目是: " & SundayCount
Next
Else
SundayCount = 0
End If
Else
SundayCount = 0
End If
Exit_SundayCount:
Exit Function
Err_SundayCount:
SundayCount = 0
Resume Exit_SundayCount
End Function

Sub Test()
Debug.Print SundayCount(#2/6/2005#, #2/25/2005#)
End Sub

相关阅读 excel日期格式怎么改黑暗之魂3发售日期及配置要求曝光三星S5照片显示日期怎么设置Mac时间,日期设置详细教程如何利用instr函数实现非常规日期的转换SqlServer2000获取当前日期及格式SqlServer2000获取当前日期及格式插入以当前日期为标签名的工作表

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Access 2010 的十大优 Access2000如何创建索引Access数据库的存储上限ADO连接Access的几种规范做法Access通用-自动替换数据库中的字符串

人气排行 详解MDB与XLS文件互相转换方法C# Access 读取多级分类 dataset操作Access数据库过大问题的几种解决方案Access 2010 的十大优势如何使用c#操作ACCESS数据库Access数据库支持多少用户同时在线使用MD5加密数据库中的用户密码(一)SQL查找Access中某表是否存在方法