以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 工时计算问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=176922) |
||||
-- 作者:lgz518 -- 发布时间:2022/5/2 16:46:00 -- 工时计算问题 需求:加班工时=卡一+卡二都以超过15分钟(-00:15或00:15),以15分钟为单位或说每15分钟计算, If e.DataCol.Name = "卡一" Then \'如果 \': If e.NewValue Is Nothing Then e.DataRow("加班工时") = Nothing \' ElseIf e.NewValue > 00:15 Then e.DataRow("加班工时") = 00:15 / 60 ElseIf e.NewValue > -00:15 Then e.DataRow("加班工时") = 00:15 / 60 Else e.DataRow("加班工时") = 0 End If End If If e.DataCol.Name = "卡二" Then \'如果 \': If e.NewValue Is Nothing Then e.DataRow("加班工时") = Nothing \' ElseIf e.NewValue > 00:15 Then e.DataRow("加班工时") = 00:15 / 60 ElseIf e.NewValue > -00:15 Then e.DataRow("加班工时") = 00:15 / 60 Else e.DataRow("加班工时") = 0 End If End If e.DataRow("加班工时") = "卡一" + "卡二" 请老师,帮助纠正,谢谢
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/4 20:14:00 -- 加班工时是什么类型的列?存储的是什么数据? |
||||
-- 作者:lgz518 -- 发布时间:2022/5/4 22:48:00 -- "卡一" , "卡二",加班工时,都是双精“时段”型, 存储的是什么数据, 大于或超过"卡一" , "卡二"的时间(15分钟),以15分钟单位,进行计算,转为小时为单位,存入”加班工时“列 |
||||
-- 作者:有点蓝 -- 发布时间:2022/5/4 23:09:00 -- 时段列存储的是秒数,转换为秒数计算 15分钟=15*60=900秒 ElseIf e.NewValue > 00:15 Then 应该是 ElseIf e.NewValue > 900 Then e.DataRow("加班工时") = 00:15 / 60 应该是 e.DataRow("加班工时") = 900 / 60
|
||||
-- 作者:lgz518 -- 发布时间:2022/5/7 12:23:00 --
上实例,请老师,帮纠正,完善一下,谢谢 能正确实现“加班工时”,“用时”的计算
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/7 13:52:00 --
|
||||
-- 作者:lgz518 -- 发布时间:2022/5/7 14:53:00 -- 1,计算“加班工时” 如果,“卡一”≥ - 00:15 or “卡一”≥ 00:15,“卡二”≥ - 00:15 or “卡二”≥ 00:15 “加班工时”=“卡一”+“卡二” 具体计算方法: A.当大于15分钟时(- 00:15或00:15),以15分钟进行计算 卡一的加班工时 = 15分钟/60=0.25小时 卡一的加班工时 = 30分钟/60=0.50小时 卡一的加班工时 = 45分钟/60=0.75小时 卡二的加班工时 = 15分钟/60=0.25小时 卡二的加班工时 = 30分钟/60=0.50小时 卡二的加班工时 = 45分钟/60=0.75小时 “加班工时”=“卡一”+“卡二” 问题一: 如何实现图一,每个大于等于15分钟时行计算 问题二:如何实现,用时负数为正确数?如下图 |
||||
-- 作者:有点蓝 -- 发布时间:2022/5/7 15:01:00 -- 问题一,完全没看懂,正确的结果是什么,每一行把手工计算过程和结果发上来看看 二,判断计算为负数的,加上24
|
||||
-- 作者:lgz518 -- 发布时间:2022/5/7 16:15:00 --
|
||||
-- 作者:有点蓝 -- 发布时间:2022/5/7 16:35:00 --
|