Office中国论坛/Access中国论坛
标题:
[求助]如何去除周末休息日的问题
[打印本页]
作者:
jackey0212
时间:
2006-12-28 17:52
标题:
[求助]如何去除周末休息日的问题
现在数据库的表中有2个时间的字段date1和date2,要取出date1、date2间隔的天数,但要去除中间的周末休息日,请问用Access怎么实现,谢谢大家,帮忙想想吧
作者:
一点通
时间:
2006-12-28 18:32
看下这些时间函数,然后加以运用
http://www.office-cn.net/forum.php?mod=viewthread&tid=33813&replyID=&skin=1
作者:
jackey0212
时间:
2006-12-28 23:41
....这些函数我也知道,但本人是Access新手,请楼上达人再详细说明下,谢谢
万分感激!!!~~~~
作者:
gnoy
时间:
2006-12-29 00:07
一年没多少个休息日吧.有时间不如自己用手掰一掰[em01]
作者:
jackey0212
时间:
2006-12-29 00:20
数据库里有上万条纪录阿,数的话好像也太...................
望高手帮忙解决下!!谢谢
作者:
gnoy
时间:
2006-12-29 00:25
[em01]一万条记录就多找几个人掰嘛[em01]
把休息日的日期逐个和你的时间段 做判断 符合就 -1
作者:
lupo
时间:
2006-12-29 03:18
在excel中可以用下面这个函数求得
NETWORKDAYS
请参阅
返回参数 start-data 和 end-data 之间完整的工作日数值。工作日不包括周末和专门指定的假期。可以使用函数 NETWORKDAYS,根据某一特定时期内雇员的工作天数,计算其应计的报酬。
如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。
操作方法在“工具”菜单上,单击“加载宏”。 在“可用加载宏”列表中,选中“分析工具库”框,再单击“确定”。 如果必要,请遵循安装程序中的指示。
语法
NETWORKDAYS(start_date,end_date,holidays)
要点 应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本的形式输入,则会出现问题。
Start_date 为一个代表开始日期的日期。
End_date 为终止日期。
Holidays 表示不在工作日历中的一个或多个日期所构成的可选区域,例如:省/市/自治区和国家/地区的法定假日以及其他非法定假日。该列表可以是包含日期的单元格区域,或是表示日期的序列号的数组常量。
说明Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1,而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。 如果任何参数为无效的日期值,则函数 NETWORKDAYS 将返回错误值 #VALUE!。
作者:
tz-chf
时间:
2006-12-29 03:59
如果什么六一、七一、八一都要算的话,就建一个休息日表,算的时候用between and去掉这些日期
只算星期日的话,判断起始日是星期几,再减掉除7的日子。
作者:
jackey0212
时间:
2006-12-29 04:35
谢谢各位的解答,看来方便点的话只能用Excel来实现了
作者:
zhowgx
时间:
2006-12-29 17:36
标题:
回复:(jackey0212)[求助]如何去除周末休息日的问题...
week1 = Weekday(date1)
week2 = Weekday(date2) '确定两日期是星期几.
T1 = week1 - 1
T2 = 7 - week2
If T1 = 0 Then
Tj1 = 0
Else
Tj1 = 1
End If
If T2 = 7 Then
Tj2 = 0
Else
Tj2 = 1
End If
ts = (date2 - date1) + 1 + Tj1 + Tj2 - ((date2 - date1) + 1 + T1 + T2) / 3.5 '计算此期间的工作天数
提取date1,date2两日期后用上述代码可计算出除双休日的天数
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3