老师好
按物料编码+批号设置的流水帐,计算结果没有把批号区分出来,不知道表达式哪里错误了,麻烦老师帮助一下
Select Case e.DataCol.Name
Case "物料编码","入库数量","实发数量","批号"
Dim dr As DataRow
Dim mr As DataRow = e.DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [物料编码] = '" & mr("物料编码") & "' And [批号] = '" & mr("批号") & "'", "[_SortKey] Desc")
If dr Is Nothing Then
mr("Kuc") = mr("入库数量") - mr("实发数量")
dr = mr
End If
drs = e.DataTable.Select("[_SortKey] < " & dr("_SortKey") & " And [物料编码] = '" & dr("物料编码") & "' And [批号] = '" & dr("批号") & "'","[_SortKey] ")
For i As Integer = 1 To drs.Count - 1
drs(i)("Kuc") = drs(i-1)("Kuc") + drs(i)("入库数量") - drs(i)("实发数量")
Next
If e.DataCol.Name = "物料编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [物料编码] and [批号] = '" & e.OldValue & "'", "[_SortKey] Desc")
If dr Is Nothing Then
dr = e.DataTable.Find("[物料编码] and [批号] = '" & e.OldValue & "'", "[_SortKey]")
If dr IsNot Nothing Then
dr("Kuc") = dr("入库数量") - dr("实发数量")
End If
End If
If dr IsNot Nothing Then
drs = e.DataTable.Select("[_SortKey] < " & dr("_SortKey") & " And [物料编码] = '" & dr("物料编码") & "' And [批号] = '" & dr("批号") & "' ","[_SortKey] ")
For i As Integer = 1 To drs.Count - 1
drs(i)("Kuc") = drs(i-1)("Kuc") + drs(i)("入库数量") - drs(i)("实发数量")
Next
End If
End If
End Select