设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 2477|回复: 12
打印 上一主题 下一主题

[模块/函数] 请教这个workdays的代码

[复制链接]
跳转到指定楼层
1#
发表于 2008-3-25 13:51:20 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
Function newNetWorkDays(BegDate As Date, EndDate As Date) As Integer

Dim DateCnt As Date
Dim EndDays As Date
Dim IntDays As Integer

DateCnt = DateValue(BegDate)

EndDays = DateValue(EndDate)

IntDays = 0

        
        Do While DateCnt <= EndDays
        
        
          If Format((IsNull(DLookup("id", "holiday", "&ETH;&Yacute;&Iuml;&cent;&Egrave;&Otilde;&AElig;&Uacute;=#" & DateCnt & "#"))) _
               And Format(DateCnt, "ddd") <> "Sun" And Format(DateCnt, "ddd") <> "Sat") Or _
              Format(Not IsNull(DLookup("id", "workday", "&frac14;&Oacute;°à&Egrave;&Otilde;&AElig;&Uacute;=#" & DateCnt & "#"))) Then
        
               IntDays = IntDays + 1

          End If

    DateCnt = DateAdd("d", 1, DateCnt)
   
      
   Loop
   

newNetWorkDays = IntDays - 1

End Function


这个代码能够计算出如果BegDate小于或等于EndDate的相差工作日,但是如果大于,则计算出的所有值都是-1,请问能够将负值也体现出差别多少工作日吗,而不是全部都显示-1
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
13#
发表于 2008-3-25 16:52:21 | 只看该作者
学习学习
12#
发表于 2008-3-25 16:51:02 | 只看该作者
Expr1: IIf([enddate]>=[date],Works_Days([date],[enddate]),Works_Days([enddate],[date]))
11#
 楼主| 发表于 2008-3-25 16:35:31 | 只看该作者
请看附件里的query1

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
发表于 2008-3-25 16:08:01 | 只看该作者
如果看不明白,或者返回错误结果的,建议上传例子
9#
发表于 2008-3-25 16:06:33 | 只看该作者
同时删除下面这句话
newNetWorkDays = IntDays - 1
8#
发表于 2008-3-25 16:05:44 | 只看该作者
把参数改为:
Do While DateCnt < EndDays

datecnt是最小的日期,enddays的最大的日期
7#
 楼主| 发表于 2008-3-25 15:58:12 | 只看该作者
那么DateCnt >EndDays的代码应该怎么补充进去呢   高手!
6#
发表于 2008-3-25 15:56:33 | 只看该作者
你举个例子就行吧
5#
发表于 2008-3-25 15:55:50 | 只看该作者
因为根本就没查到数据,返回值为0, newNetWorkDays = IntDays - 1
上面语句查询天为0时 返回结果为-1
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-9-20 22:20 , Processed in 0.095301 second(s), 35 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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