标题: 如何计算如下日期值 [打印本页] 作者: fine88888888 时间: 2012-4-10 09:26 标题: 如何计算如下日期值 已知起始日期及终止日期,,计算这段日期除去星期天及星期六下午的日期天数。。我知道除去星期天可用=workday([起始日期],[终止日期]),,,但再除去星期六下午如何计算???作者: Henry D. Sy 时间: 2012-4-10 09:49
最笨的办法就是判断是不是星期六,如是扣掉0.5天作者: fine88888888 时间: 2012-4-10 11:23
是不是判断此时间段有N个星期六,然后减去N X 0.5 天??怎么判断有N个星期六呢??作者: Henry D. Sy 时间: 2012-4-10 12:18
fine88888888 发表于 2012-4-10 11:23
是不是判断此时间段有N个星期六,然后减去N X 0.5 天??怎么判断有N个星期六呢??
传例子吧作者: Henry D. Sy 时间: 2012-4-10 13:14
Public Function totalWorkday(dateA As Date, dateB As Date) As Single
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim l As Integer
i = DateDiff("d", dateA, dateB)
For j = 0 To i
If Weekday(dateA + j) = 7 Then
k = k + 1
End If
If Weekday(dateA + j) = 1 Then
l = l + 1
End If
Next
totalWorkday = i + 1 - l - k * 0.5
End Function
复制代码
作者: aslxt 时间: 2012-4-10 13:18
excel的workday已经去掉了周日和周六的呀,access没有workday函数啊作者: fine88888888 时间: 2012-4-10 13:38
请见附例报表红色字段,,原来这样可以除掉星期天了,但现在要除去星期六下午,,不知如何计算了!!作者: Henry D. Sy 时间: 2012-4-10 14:10
附件只是一个空报表,没有数据源的。作者: fine88888888 时间: 2012-4-10 15:10
5楼的代码放在哪呢?加载报表时??可是报表的数据是分组的,,统计每单货的开始时间及完成时间总和(除去星期天和星期六下午)。。公司现在实行5天半制,,难搞啊,,数据库比例大,只能传报表了。。还有没有其他办法啊!!以前只除去星期天用这个=workday([起始日期],[终止日期])就行了!!作者: Henry D. Sy 时间: 2012-4-10 15:21
作者: Henry D. Sy 时间: 2012-4-10 17:44
建议先用查询计算每组的统计工作天数。
然后再用查询作为报表记录源,否则当每组不止一条记录的话,您这种形式还是有问题的。作者: Henry D. Sy 时间: 2012-4-10 18:00
[attach]48947[/attach]
作者: Henry D. Sy 时间: 2012-4-10 18:05
[attach]48948[/attach]
请把14,16,17楼的附件全部下载,然后比对一下!作者: fine88888888 时间: 2012-4-11 09:10
{:soso_e113:}谢谢版主帮我解决问题,我的开始日期与完成日期是一致的,也是分组的。谢谢了哈~~作者: zrj898 时间: 2012-4-11 23:38 本帖最后由 zrj898 于 2012-4-11 23:41 编辑