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


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

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

帅哥哟,离线,有人找我吗?
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

 

求教!!!!


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


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


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

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


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

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

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


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


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


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


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

 


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


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


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

 回到顶部
帅哥哟,离线,有人找我吗?
15958896733
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


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


加好友 发短信
等级:婴狐 帖子:25 积分:238 威望:0 精华:0 注册:2022/3/25 8:40:00
  发帖心情 Post By:2022/3/31 22:11:00 [显示全部帖子]

谢谢老师,已解决!图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看


 回到顶部