表格结构:
重量(双精) 起始时间(datatime型) 结束时间(datatime型) 作业耗时(双精) 作业分钟数(双精)
200 2014-12-29 12:00 2014-12-29 13:00 1800 30
200 2014-12-29 12:00 2014-12-29 13:00 1800 30
100 2014-12-29 13:00 2014-12-29 14:00 1200 20
200 2014-12-29 13:00 2014-12-29 14:00 2400 40
代码使用的背景:一个设备可以同时加工几个产品,例如退火炉,退火炉成本时是按退火时间核算的,在核算一炉内(起始时间一致的为一炉)某个产品的成本时,要按重量比例分摊总成本(也就是加工时间)
代码如下:
Select Case e.DataCol.name
Case "起始时间","结束时间"
Dim dr As DataRow = e.DataRow
If dr.IsNull("起始时间") Or dr.IsNull("结束时间") Then
dr("作业耗时") = Nothing
Else
Dim tp As TimeSpan
tp = dr("结束时间") - dr("起始时间")
dr("作业耗时") = tp.TotalSeconds()/DataTables("生产记录表").Compute("Sum(重量)", "起始时间 = '" & e.DataRow("起始时间") & "")* e.DataRow("重量") '应该就是这条代码错了
dr("作业分钟数")=dr("作业耗时")/60
End If
End Select
执行结果:
.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.10.23.1
错误所在事件:表,生产记录表, DataColChanged
详细错误信息:
调用的目标发生了异常。
表达式包含无效的字符串常量: '2014-12-29 12:00:00。
[此贴子已经被作者于2014-12-29 12:04:49编辑过]