以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  时间累加  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=177260)

--  作者:有点灰2
--  发布时间:2022/5/14 17:55:00
--  时间累加

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
我想做一个时间累加功能  就是知道  接序时间+理论加工时间  =  理论完成时间
--  作者:狐狸爸爸
--  发布时间:2022/5/14 20:38:00
--  
帮助有现成的例子:

其中示例四就是了:

示例四


下图的起始时间和计划结束时间是日期时间型列,日期时间格式为:DateTime。


计划用时是一个双精度小数列,扩展列类型为:时段型

图片点击可在新窗口打开查看


为了根据起始时间和计划用时,算出计划结束时间,可以将该表的DataColChanged时间代码设置为:

Select Case e.DataCol.name
    Case "起始时间","计划用时"
        Dim dr As DataRow = e.DataRow
        If dr.IsNull("起始时间"Or dr.IsNull("计划用时"Then
           dr("计划结束时间") = Nothing
        Else
            Dim dt As Date = dr("起始时间")
            dr("计划结束时间") = dt.AddSeconds(dr("计划用时")) \'注意时段型列是以秒为单位参与计算的
        End 
If

End
 Select




你的:

Select Case e.DataCol.Name
    Case "排序时间", "理论加工耗时"
        Dim dr As DataRow = e.DataRow
        If dr.Isnull("排序时间") = False AndAlso dr.Isnull("理论加工耗时") = False Then
            Dim dt As Date = dr("排序时间")
            dr("理论完成时间") = dt.AddHours(dr("理论加工耗时"))
        Else
            dr("理论完成时间") = Nothing
        End If
End Select

--  作者:有点灰2
--  发布时间:2022/5/15 9:41:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:5.png
图片点击可在新窗口打开查看
表达式不计算是怎么回事
--  作者:有点灰2
--  发布时间:2022/5/15 9:48:00
--  

加工工时是20 min  加工数量是50的话  怎么计算  我的表达式没问题吧
图片点击可在新窗口打开查看此主题相关图片如下:13.png
图片点击可在新窗口打开查看
算完的日期也不对吧

 


--  作者:有点蓝
--  发布时间:2022/5/15 20:20:00
--  
加工工时和加工数量是什么关系?20分钟加工50个?还是每分钟50个?还是每秒50个?

耗时计算的是什么?一个数量的耗时?50个的耗时?

--  作者:有点灰2
--  发布时间:2022/5/16 10:36:00
--  
单个加工时间20min  要计算一个批次50件 理论总耗时是1000min   从接序时间+理论总耗时 =理论完成时间
--  作者:有点蓝
--  发布时间:2022/5/16 10:45:00
--  
表达式列我计算没有问题,请上传实例说明

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:有点灰2
--  发布时间:2022/5/16 13:42:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

是在   生产计划管理系统  内


--  作者:有点蓝
--  发布时间:2022/5/16 14:08:00
--  
有什么地方不对?


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

注意加工耗时计算的结果单位是秒。datacolchanged里使用AddHours是添加小时,应该添加30000秒,变成了添加30000小时了

dr("生产流程单_理论完成时间") = dt.AddSeconds(dr("生产流程单_理论加工耗时"))

--  作者:有点蓝
--  发布时间:2022/5/16 14:09:00
--  
另外看看这个:http://www.foxtable.com/webhelp/topics/2381.htm