我把它改了一下:
Select Case e.DataCol.name
Case "数量"
If e.NewValue > 0 Then
Dim dr As DataRow = DataTables("生产计划").Find("订单号='" & e.DataRow("订单号") & "' And 型号= '" & e.DataRow("产品名称") & "'")
If dr IsNot Nothing Then
Dim sum1 As Double = DataTables("生产计划").Compute("Sum(数量)","订单号='" & e.DataRow("订单号") & "' And 型号= '" & e.DataRow("产品名称") & "'")
Dim sum As Double = e.DataTable.Compute("Sum(数量)","订单号='" & e.DataRow("订单号") & "' And 产品名称='" & e.DataRow("产品名称") & "' and 生产工序='" & e.DataRow("生产工序") & "' and [_Identify] <> " & e.DataRow("_Identify"))
If sum + e.NewValue > sum1 Then
msgbox("数量超出!")
e.Cancel = True
End If
End If
End If
End Select