设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 797|回复: 6
打印 上一主题 下一主题

[其它] 请教各位高手

[复制链接]
跳转到指定楼层
1#
发表于 2003-9-10 19:35:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教以下两个问题:
1、如何自动计算两个日期之间的工作日天数,例如:一个文本控件是“开始日期”,一个文本控件是“结束日期”,一个文本控件是“工作日天数”,在“开始日期”和“结束日期”中输入日期后,在“工作日天数”中自动计算出去除星期六,星期日的天数。
2、我部在办事承诺中,有一个办结天数的规定,即办理一个卷宗必须在法定时间天数内办结。例如办结天数规定是7个工作日,我想利用三个图标(绿灯、黄灯、红灯),在“开始日期”中输入日期后,第6天时,若在“结束日期”中未输入日期时,该条记录旁自动显示黄灯图标,第7天时,若在“结束日期”中未输入日期时,该条记录旁自动显示黄灯,第8天开始以后,若在“结束日期”中未输入日期时,该条记录旁自动显示红灯。若在7天范围内的任意一天,在“结束日期”输入日期时,该条记录旁自动显示绿灯。计算天数时同样是去除星期六、星期天的工作日天数。

谢谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-9-10 23:42:00 | 只看该作者
1、转来一段代码(自己没用过),你看看:
  Dim date1 As Date, date2 As Date, Weeks As Integer, tmpDate As Date
  date1 = Me.txtDate1
  date2 = Me.txtDate2
  
  '日期相隔天数
  Me.txtdates = date2 - date1 + 1
  
  Weeks = 0
  For tmpDate = date1 To date2
    If Format(tmpDate, "aaaa") = "星期六" Or Format(tmpDate, "aaaa") = "星期日" Then
      Weeks = Weeks + 1
    End If
  Next
  
  '星期六 日数
  Me.txtWeeks = Weeks
3#
发表于 2003-9-10 23:43:00 | 只看该作者
第2个问题,属于第1个问题的应用。
只要会算工作日,应该很简单的。
4#
 楼主| 发表于 2003-9-11 04:48:00 | 只看该作者
谢谢,我验证一下。
5#
发表于 2003-9-12 10:44:00 | 只看该作者
有这么麻烦吗?
用DATEDIFF()即可轻松搞定.
6#
发表于 2003-9-17 21:08:00 | 只看该作者
请教,请说详细一点。谢谢。
7#
发表于 2003-9-17 23:30:00 | 只看该作者
datediff()可以直接计算工作日吗?
好像不可以的:如果利用
datediff("d",[开始],[结束])-datediff("w",[开始],[结束])*2
这样算出的工作日是会有误差的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-15 01:28 , Processed in 0.097544 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表