请帮我看看,类似一的有很多,我检查了没有死循环,第二和三在数据少的时候能满足要求,在我加载数据后,就不能单独运行二或三的公式了,二和三的格式我也是在论坛找坛友提供的,不知错在哪里,另外,1.2楼的有关本表2列以上的计算用表达式什么实现,请帮帮忙,谢谢
一:
If e.DataCol.Name = "难度情况_材质" Then
Dim dr As DataRow
dr = DataTables("基础表").Find(" [材料] = '" & e.DataRow("难度情况_材质") & "'")
If dr IsNot Nothing Then
e.DataRow("难度系数_材质") = dr("材料系数")
Else
e.DataRow("难度系数_材质") = Nothing
End If
End If
二:
for i as integer = 0 to Tables("基础表").count-1
if Tables("基础表").rows(i).isnull("疲劳") = false then
for ii as integer = 0 to tables("产品工艺").count-1
if tables("产品工艺").rows(ii).isnull("加工工时_周期") = false then
if Tables("产品工艺").rows(ii)("加工工时_周期") >= Tables("基础表").rows(i)("疲劳").split("-")(0) andalso tables("产品工艺").rows(ii)("加工工时_周期") < Tables("基础表").rows(i)("疲劳").split("-")(1)
tables("产品工艺").rows(ii)("难度系数_疲劳") = Tables("基础表").rows(i)("疲劳系数")
end if
end if
next
end if
next
三
for i as integer = 0 to Tables("基础表").count-1
if Tables("基础表").rows(i).isnull("重量") = false then
for ii as integer = 0 to tables("产品工艺").count-1
if tables("产品工艺").rows(ii).isnull("难度情况_重量") = false then
if Tables("产品工艺").rows(ii)("难度情况_重量") >= Tables("基础表").rows(i)("重量").split("-")(0) andalso tables("产品工艺").rows(ii)("难度情况_重量") < Tables("基础表").rows(i)("重量").split("-")(1)
tables("产品工艺").rows(ii)("难度系数_重量") = Tables("基础表").rows(i)("重量系数")
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
Case "难度系数_精度","难度系数_材质","难度系数_切削","难度系数_批量","难度系数_疲劳","难度系数_装夹","难度系数_重量","难度系数_钢性","图号"
dr("标准_难度系数") = dr("难度系数_精度")+dr("难度系数_材质")+dr("难度系数_切削")+dr("难度系数_批量")+dr("难度系数_疲劳")+dr("难度系数_装夹")+dr("难度系数_重量")+dr("难度系数_钢性")+1
Case "加工工时_周期","标准_难度系数"
dr("标准_工时") = dr("加工工时_周期")*dr("标准_难度系数")
Case "标准_工时"
dr("标准_产量") =480/ dr("标准_工时")
End Select
end if
end if
next
end if
next