以下代码是由甜版之前帮我写的,我在项目开发时执行非常完美,代码如下:
'工序合并表中的datacolchange事件库存标记生成模块
If e.DataCol.Name= "写入标记" AndAlso e.DataRow("写入标记")=True Then
Dim drs As List(Of DataRow) = DataTables("工序合并表").Select("母卷号 = '" & e.DataRow("母卷号") & "'", "卷号,起始时间") '指定母卷号计算
If drs.Count=1 Then
drs(0)("库存标记") = True
Else
For i As Integer = 1 To drs.Count - 1
If drs(i)("卷号").Contains(drs(i-1)("卷号")) Then
drs(i-1)("库存标记") = False
Else
drs(i-1)("库存标记") = True
End If
Next
drs(drs.Count-1)("库存标记") = True
End If
End If
现在项目实施了,在局域网使用中发生了问题,计算造成的偏差,我分析了下原因如下:
二人各操作一张表,假定一张为A,另一张为B,此二张表上分别记录了一种工序流程数据并向工序合并表存入,在存入时调用了上面的代码,执行的结果对于本机来说并没有错,但此结果并没有考虑到别人的操作对工序合并表的影响,也就是说对于表A的操作者来说,所计算的结果是对的,但当表B操作者把数据存入工序合并表后,计算结果就发生了变化,然后二人全执行了SAVE工序合并表的操作后,工序合并表的库存标记实际上错了,有没有办法让上面这段代码在后台执行,也就是说当数据库文件中的工序合并表发生变化时对库存标记进行计算,计算结束后把相关的记录再调入到前台供操作员使用。
[此贴子已经被作者于2015/3/9 23:34:02编辑过]