Foxtable(狐表)用户栏目专家坐堂 → 求助!对多个时间段求和失效


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

主题:求助!对多个时间段求和失效

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
求助!对多个时间段求和失效  发帖心情 Post By:2022/3/31 19:05:00 [只看该作者]

请教一下不用表达式,使用如下代码求2个时间段的耗时总时长

 

现在的问题是没有将2个时间段的时间输入完,实耗工时列为空,只有全部输入4个时间点,才会得到实际工时的数据

 

Select Case e.DataCol.Name
    Case "开始时间","结束时间","开始时间1","结束时间1"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("开始时间") OrElse dr.IsNull("结束时间") OrElse dr.IsNull("结束时间1")OrElse dr.IsNull("开始时间1") Then
            dr("实耗工时") = Nothing
        Else
            Dim tp As TimeSpan = (dr("结束时间") - dr("开始时间"))+(dr("结束时间1") - dr("开始时间1"))
            dr("实耗工时") = tp.Totalhours
        End If
End Select

 

求教!!!!


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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 20:18:00 [只看该作者]

没明白想表达什么问题?意思是没有将2个时间段的时间输入完的时候也要计算,要怎么计算?

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:32:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:内网通截图20220331203002.png
图片点击可在新窗口打开查看
就是要实耗工时不管填那个时间段都能计算出来

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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 20:34:00 [只看该作者]

意思是没有时间1 的时候直接使用开始时间减结束时间?没有开始时间、结束时间的时候直接使用开始时间1减结束时间1?

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:34:00 [只看该作者]

现在是有一个时间段不填就没法计算,用表达式是能够实现,但是实耗工时我其他事件需要用到,用表达式的话就没办法利用到了

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:35:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/31 20:40:00 [只看该作者]

Select Case e.DataCol.Name
    Case "开始时间","结束时间","开始时间1","结束时间1"
        Dim dr As DataRow = e.DataRow
        Dim gs As Double
        If dr.IsNull("开始时间") = False AndAlso dr.IsNull("结束时间") = False
            gs = (cdate(dr("结束时间")) -cdate( dr("开始时间"))).Totalhours
        End If
        If dr.IsNull("结束时间1") =False AndAlso  dr.IsNull("开始时间1")=False Then
            gs = gs + (cdate(dr("结束时间1")) -cdate( dr("开始时间1"))).Totalhours
        End If
        If gs > 0
            dr("实耗工时") = gs
        Else
            dr("实耗工时") = Nothing
            en dif
        End If
End Select
[此贴子已经被作者于2022/3/31 20:41:40编辑过]

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:55:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:内网通截图20220331205429.png
图片点击可在新窗口打开查看
老师,弹出来这个问题

 


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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:57:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:内网通截图20220331205034.png
图片点击可在新窗口打开查看
我改成 CDBL 后没有报错,输入数据就成上面这样了

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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 20:57:00 [只看该作者]

Select Case e.DataCol.Name

    Case "开始时间","结束时间","开始时间1","结束时间1"

        Dim dr As DataRow = e.DataRow

        Dim gs As Double

        If dr.IsNull("开始时间") = False AndAlso dr.IsNull("结束时间") = False

            gs = CDBL(dr("结束时间")) - CDBL( dr("开始时间"))

        End If

        If dr.IsNull("结束时间1") =False AndAlso  dr.IsNull("开始时间1")=False Then

            gs = gs + CDBL(dr("结束时间1")) - CDBL( dr("开始时间1"))

        End If

        If gs > 0

            dr("实耗工时") = gs

        Else

            dr("实耗工时") = Nothing

            End If

End Select


 回到顶部
总数 12 1 2 下一页