Foxtable(狐表)用户栏目专家坐堂 → 天数统计


  共有9636人关注过本帖树形打印复制链接

主题:天数统计

帅哥哟,离线,有人找我吗?
ramen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
天数统计  发帖心情 Post By:2012/11/10 14:17:00 [只看该作者]

请高手指点一下,我想输入开始日期和结束日期,然后就能自动统计天数。我看了教程,参考了里面工龄的算法,我想要根据服务器的月份自动计算,因为有一些月份不是30天的,有的31、有的29,如果可以跟着服务器这样算出来就不会出错。
      例如2012年9月25日到2012年10月11,跨月份的,计算出来的天数有可能出错,不知道代码怎么设置好?请教一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:天数计算.table

[此贴子已经被作者于2012-11-10 14:18:30编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/10 14:47:00 [只看该作者]

 楼主说的跨月份计算有可能出错?应该没有这个可能的。

 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
  发帖心情 Post By:2012/11/10 14:49:00 [只看该作者]

这样啊,那就行,可以看看你是怎么设置代码的吗?就我附件的例子

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/10 14:56:00 [只看该作者]

如下
 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:天数计算.table



 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
  发帖心情 Post By:2012/11/10 16:21:00 [只看该作者]


[此贴子已经被作者于2012-11-10 16:49:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
回复:(lin_hailun)如下 [upload=table,天数计...  发帖心情 Post By:2012/11/10 16:49:00 [只看该作者]

有个问题,就是这个代码算出来的天数会少一天,麻烦看一下。
Select Case e.DataCol.Name
    Case "开始日期", "结束时间"
        Dim d As TimeSpan = e.DataRow("结束时间") - e.DataRow("开始日期") 
        e.DataRow("合计") = d.TotalDays
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
  发帖心情 Post By:2012/11/10 17:06:00 [只看该作者]

“结束时间”-“开始时间”+1=“合计天数”
   代码应该怎么设置呢?

 回到顶部
帅哥哟,离线,有人找我吗?
lin_hailun
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/10 17:09:00 [只看该作者]

 楼主,最后加一天就行了。

 e.DataRow("合计") = d.TotalDays + 1

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33963 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2012/11/10 19:53:00 [只看该作者]

也可以这么写

 

Select Case e.DataCol.Name
    Case "开始日期", "结束时间"
        If e.DataRow.IsNull("开始日期") = False And e.DataRow.IsNull("结束时间") = False
            e.DataRow("合计") =  DateDiff("d",e.DataRow("开始日期"),e.DataRow("结束时间")) + 1
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
ramen
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:946 威望:0 精华:0 注册:2012/8/26 23:34:00
  发帖心情 Post By:2012/11/11 9:52:00 [只看该作者]

好的,谢谢你!


 回到顶部