以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求教,代码怎么写?学习中.. (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7854) |
||||
-- 作者:andy621 -- 发布时间:2010/8/12 9:14:00 -- 求教,代码怎么写?学习中.. 1.累计用时,由完成时间-开始时间 2.表\'工作时间\'的工号写入时,姓名自动从人员资料里面提取 这两个代码要怎么写?求教了,谢谢!
[此贴子已经被作者于2010-8-12 9:36:41编辑过]
|
||||
-- 作者:卟离卟弃 -- 发布时间:2010/8/12 13:27:00 --
是不是想这样? |
||||
-- 作者:andy621 -- 发布时间:2010/8/12 15:22:00 -- 谢谢!卟离卟弃 不过还差点,要计算出时间的小时数和分钟数,比如说 23:32~05:00
小时数应为5 分钟数应为28 也就是说时间要以24小时制,分钟以60为进制 ![]() [此贴子已经被作者于2010-8-12 15:31:29编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/8/12 15:59:00 -- Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "工号" Dim dr1 As DataRow dr1 = DataTables("人员资料").Find("[工号] = \'" & e.NewValue & "\'") If dr1 IsNot Nothing Then dr("姓名") = dr1("姓名") End If Case "开始时间","完成时间" If dr.IsNull("开始时间") = False And dr.IsNull("完成时间") = False Then dr("累计用时时")=(dr("完成时间")- dr("开始时间")).Hours dr("累计用时分")=(dr("完成时间")- dr("开始时间")).Minutes End If End Select [此贴子已经被作者于2010-8-12 16:00:01编辑过]
|
||||
-- 作者:andy621 -- 发布时间:2010/8/13 8:01:00 -- 以下是引用狐狸爸爸在2010-8-12 15:59:00的发言:
Dim dr As DataRow = e.DataRow Select Case e.DataCol.Name Case "工号" Dim dr1 As DataRow dr1 = DataTables("人员资料").Find("[工号] = \'" & e.NewValue & "\'") If dr1 IsNot Nothing Then dr("姓名") = dr1("姓名") End If Case "开始时间","完成时间" If dr.IsNull("开始时间") = False And dr.IsNull("完成时间") = False Then dr("累计用时时")=(dr("完成时间")- dr("开始时间")).Hours dr("累计用时分")=(dr("完成时间")- dr("开始时间")).Minutes End If End Select [此贴子已经被作者于2010-8-12 16:00:01编辑过]
狐爸,还有点问题,可能我没表达清楚,要实现下面的计算结果(如图): 1.计算的结果换算好要把小时和分钟分开来 2.如时间段内碰到12点至13点这区间的,要自动扣掉一小时 ![]() ![]() [此贴子已经被作者于2010-8-13 8:01:54编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2010/8/13 8:41:00 --
|
||||
-- 作者:mr725 -- 发布时间:2010/8/13 11:48:00 -- 估计楼主是想超过中午12点后都要减少1小时吧? 也就是从13点开始计算~~~~ |
||||
-- 作者:andy621 -- 发布时间:2010/8/13 13:45:00 -- 以下是引用mr725在2010-8-13 11:48:00的发言: 其实这个是用来计算生产车间的作业员在两个时间区间的实际工作时间的,其中有实行2班倒,每个 班中间还有固定的损耗时间.报表在写的时候同料同作业员时间段是不分开写的,如8:00~19:00 生产A料 张三(这中间须扣除中午1小时,傍晚半小时);21:00~5:50 生产B料 李四 (这中间须扣除上半夜30分钟,凌晨30分钟)估计楼主是想超过中午12点后都要减少1小时吧? 也就是从13点开始计算~~~~ 如下规则: 1.白班:中午12:00~13:00用餐及午休,傍晚17:30~18:00晚餐 2.晚班:23:00~23:30 用餐 凌晨4:00~4:30休息 我想设定在这时间段内的设定自动扣除相应的时间,我现在的水平还搞不定这些,麻烦大家帮忙看下!有没办法?
[此贴子已经被作者于2010-8-13 14:04:51编辑过]
|
||||
-- 作者:mr725 -- 发布时间:2010/8/13 15:04:00 -- Dim h0 As Date = dr("开始时间") If h1 < h0 Then \' *******.这样不停的设置条件即可``````` If h1 < h0 Then |
||||
-- 作者:andy621 -- 发布时间:2010/8/13 16:33:00 -- 以下是引用mr725在2010-8-13 15:04:00的发言: Dim h0 As Date = dr("开始时间") If h1 < h0 Then \' *******.这样不停的设置条件即可``````` If h1 < h0 Then 谢谢!学习下...试试看
[此贴子已经被作者于2010-8-13 16:38:22编辑过]
|