请教老师:以零部件编号为关联,A表中的A/B列内容在B表中合并成一列,如何实现
A表 列A 列B
a b
请老师看下 ,下面的代码哪里有问题?
Select Case e.DataCol.name
Case "锻件","规格"
If e.DataRow("锻件") = False Then
DataTables("锻铸件清单").DeleteFor("零部件编号='" & e.DataRow("零部件编号") & "'")
Else
Dim ndr As Row = Tables("锻铸件清单").AddNew
ndr("零部件编号") = e.DataRow("零部件编号")
ndr("制单日期") = e.DataRow("制单日期")
ndr("生产令号") = e.DataRow("生产令号")
ndr("项目名称") = e.DataRow("项目名称")
ndr("机组") = e.DataRow("机组")
ndr("零部件名称") = e.DataRow("零部件名称")
ndr("零部件图号") = e.DataRow("零部件图号")
ndr("数量") = e.DataRow("数量")
ndr("材质") = e.DataRow("材质")
ndr("材料批次") = e.DataRow("材料批次")
ndr("零部件标识") = e.DataRow("零部件标识")
ndr.Move(0)
ndr("_sortkey") = DataTables("锻铸件清单").sqlcompute("min([_sortkey])") - 0.00000001
End If
Dim filter As String
Dim pr As DataRow
filter = "零部件编号 = '" & e.DataRow("零部件编号") & "'"
pr = DataTables("锻铸件清单").Find(filter)
If e.DataRow("规格").Contains("δ") Then
pr("下料尺寸") = e.DataRow("规格") & "×" & e.DataRow("下料尺寸")
Else
If e.DataRow("规格").Contains("φ") Then
pr("下料尺寸") = e.DataRow("规格") & "," & e.DataRow("下料尺寸")
Else
pr("下料尺寸") = e.DataRow("规格")
End If
End If
End Select
[此贴子已经被作者于2024/11/2 14:17:01编辑过]
……
ndr("数量") = e.DataRow("数量")
ndr("材质") = e.DataRow("材质")
ndr("材料批次") = e.DataRow("材料批次")
ndr("零部件标识") = e.DataRow("零部件标识")
ndr.Move(0)
ndr("_sortkey") = DataTables("锻铸件清单").sqlcompute("min([_sortkey])") - 0.00000001
If e.DataRow("规格").Contains("δ") Then
ndr("下料尺寸") = e.DataRow("规格") & "×" & e.DataRow("下料尺寸")
Else
If e.DataRow("规格").Contains("φ") Then
ndr("下料尺寸") = e.DataRow("规格") & "," & e.DataRow("下料尺寸")
Else
ndr("下料尺寸") = e.DataRow("规格")
End If
End If
End If
End Select
要求表A中的列“规格”、“下料尺寸”变化时,表“铸锻件清单”中列“下料尺寸”,能够自动变更,现在但表A中列“下料尺寸”变化时,表“铸锻件清单”中列“下料尺寸”不能自动变更,是哪里有问题(“规格”列变化时,“铸锻件清单”中的“下料尺寸”能够自动变更)
Select Case e.DataCol.name
Case "锻件"
If e.DataRow("锻件") = False Then
DataTables("锻铸件清单").DeleteFor("零部件编号='" & e.DataRow("零部件编号") & "'")
Else
Dim ndr As Row = Tables("锻铸件清单").AddNew
ndr("零部件编号") = e.DataRow("零部件编号")
ndr("制单日期") = e.DataRow("制单日期")
ndr("生产令号") = e.DataRow("生产令号")
ndr("项目名称") = e.DataRow("项目名称")
ndr("机组") = e.DataRow("机组")
ndr("零部件名称") = e.DataRow("零部件名称")
ndr("零部件图号") = e.DataRow("零部件图号")
ndr("数量") = e.DataRow("数量")
ndr("材质") = e.DataRow("材质")
ndr("材料批次") = e.DataRow("材料批次")
ndr("零部件标识") = e.DataRow("零部件标识")
ndr.Move(0)
ndr("_sortkey") = DataTables("锻铸件清单").sqlcompute("min([_sortkey])") - 0.00000001
If e.DataRow("规格").Contains("δ") Then
ndr("下料尺寸") = e.DataRow("规格") & "×" & e.DataRow("下料尺寸")
Else
If e.DataRow("规格").Contains("φ") Then
ndr("下料尺寸") = e.DataRow("规格") & "," & e.DataRow("下料尺寸")
Else
ndr("下料尺寸") = e.DataRow("规格")
End If
End If
End If
Case "下料尺寸", "规格"
Dim filter As String
Dim pr As DataRow
filter = "零部件编号 = '" & e.DataRow("零部件编号") & "'"
pr = DataTables("锻铸件清单").Find(filter)
If pr Is Nothing Then
pr = DataTables("锻铸件清单").SQLFind(filter)
End If
If pr IsNot Nothing Then
If e.DataRow("规格").Contains("δ") Then
pr("下料尺寸") = e.DataRow("规格") & "×" & e.DataRow("下料尺寸")
Else
If e.DataRow("规格").Contains("φ") Then
pr("下料尺寸") = e.DataRow("规格") & "," & e.DataRow("下料尺寸")
Else
pr("下料尺寸") = e.DataRow("规格")
End If
End If
pr.save
End If
End Select