请教专家,还是前面的问题,我将10楼代码进行了改动,红色部分,目的是使得“工序能力表”中“nl”列为空值的行,在当前表中的 dc(gw) = 0,但结果只有一个应该为0的值是0,其他仍为空值。
Case "品种_杆径","品种_长度","合同编号"
Dim dc As DataRow = e.DataRow
Dim pc As DataRow
Dim filter1 As String
Dim filter2 As String
filter2 = "执行合同编号 = '" & dc("合同编号") & "'"
For Each gw As String In DataTables("生产安排表").GetValues("工位", filter2)
Dim nl As String = ""
If gw = "平锻机1"
nl = "日生产能力_锻造_350t"
ElseIf gw = "平锻机2"
nl = "日生产能力_锻造_450t"
ElseIf gw = "平锻机3"
nl = "日生产能力_锻造_350t"
ElseIf gw = "平锻机4"
nl = "日生产能力_锻造_450t"
ElseIf gw = "平锻机5"
nl = "日生产能力_锻造_500t"
ElseIf gw = "平锻机6"
nl = "日生产能力_锻造_800t"
End If
gw = "本工序_日生产能力_" & gw
If e.DataTable.DataCols.contains(gw) Then
If nl > "" Then
filter1 = "品种_杆径 = '" & dc("品种_杆径") & "' And 品种_长度 = '" & dc("品种_长度") & "' and " & nl & " is not Null"
pc = DataTables("工序能力表").Find(filter1)
If pc Is Nothing Then
dc(gw) = 0
Else
dc(gw) = pc(nl)
End If
End If
End If
Next