Foxtable(狐表)用户栏目专家坐堂 → [求助] 自动扣除时间计算


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

主题:[求助] 自动扣除时间计算

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
[求助] 自动扣除时间计算  发帖心情 Post By:2015/2/5 9:43:00 [显示全部帖子]

开始时间11:00~结束时间13:00  耗时计算出2小时,但是12:00~13:00  休息时间,想要扣除这1小时,计算出1小时。也就是说开始时间和结束时间经过12:00时候再减1小时。

 

现在的代码:

 

Select Case e.DataCol.name
    Case "开始时间","结束时间"
        Dim dr3 As DataRow = e.DataRow
        If dr3.IsNull("开始时间") Or dr3.IsNull("结束时间") Then
            dr3("耗时") = Nothing
        Else
            Dim d1 As Date = dr3("结束时间")
            Dim d2 As Date = dr3("开始时间")
            If d1 > d2 Then
                d2 = d2.AddDays(1)
            End If
            Dim tp As TimeSpan
            tp = d1 - d2
            dr3("耗时") = tp.TotalSeconds()/60/60 '真正的时段型数据要转换为秒数,才能存入时段列
        End If
End Select


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 10:31:00 [显示全部帖子]

换成甜老师的代码后,显示-22了,重置列无效,
代码如下:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:kwk作业piao输入系统.rar


Select Case e.DataCol.name
    Case "生产开始时间","生产结束时间"
        Dim dr3 As DataRow = e.DataRow
        If dr3.IsNull("生产开始时间") Or dr3.IsNull("生产结束时间") Then
            dr3("开动时间") = Nothing
        Else
            Dim d1 As Date = dr3("生产结束时间")
            Dim d2 As Date = dr3("生产开始时间")
            If d1 > d2 Then,
                d2 = d2.AddDays(1)
            End If
            Dim ds As Date = new Date(d2.Year, d2.Month, d2.day, 12, 0, 0)
            Dim de As Date = new Date(d1.Year, d1.Month, d1.day, 13, 0, 0)
            Dim tp1, tp2 As TimeSpan
            tp1 = d1 - d2
            If d2 < ds AndAlso d1 < ds Then
                dr3("开动时间") = tp1.TotalSeconds()/60/60
            Else If d2 < ds AndAlso d1 >= ds AndAlso d1 <= de Then
                tp2 = d1 - ds
                dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60
            Else If d2 < ds AndAlso d1 > de Then
                tp1 = d1 - d2
                dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60
            Else If d2 >= ds AndAlso d1 <= de Then
                dr3("开动时间") = 0
            Else If d2 >= ds AndAlso d1 > de Then
                tp2 = de - d2
                dr3("开动时间") = (tp1.TotalSeconds() - tp2.TotalSeconds) /60/60
            Else If d2 >= de Then
                dr3("开动时间") = tp1.TotalSeconds()/60/60
            End If
            
        End If
End Select



那休息时间段追加的话代码怎么写
开始         结束
12:00    13:00
17:30    18:30
00:00    01:00
05:30    06:30

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 10:50:00 [显示全部帖子]

哪里错了啊,代码写在那里啊,报错
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 10:52:00 [显示全部帖子]

时间计算出来出错

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 14:26:00 [显示全部帖子]

甜老师,在休息表中添加了数据,20:30~08:30还是计算12H,,求救


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 14:35:00 [显示全部帖子]

怎么分啊,帮我分一下
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:kwk作业piao输入系统.table


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 15:01:00 [显示全部帖子]

刚刚试了不行,我再试试啊

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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 16:03:00 [显示全部帖子]

啊,原来是把生产的开始时间和结束时间分2段输入啊


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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 16:18:00 [显示全部帖子]

还是不对啊,您看看哪里错了,我添加的休息时间段如下:
开始时间  结束时间
00:00    01:00(不会扣除)
05:30    06:30(同天会扣除)
12:00    13:00
17:30    18:30

生产时间输入
20:30  ~  08:00    12小时
不会扣除




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


加好友 发短信
等级:童狐 帖子:286 积分:2345 威望:0 精华:0 注册:2013/8/30 3:37:00
  发帖心情 Post By:2015/2/5 17:21:00 [显示全部帖子]

谢谢甜老师~~~~

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