换种方式替代if判断,比如增加一个公式表,类似下面
此主题相关图片如下:1.png

然后if分支可以改为查表处理
Dim dr As DataRow = DataTables("表C").Find("构件名称='" & nr("产品_构件名称") & "'")
If dr IsNot Nothing Then
If dr.IsNull("长") = False Then
nr("长") = Eval(dr("长").replace("[长]", wr("长")).replace("[宽]", wr("宽")).replace("[厚]", wr("厚")))
End If
If dr.IsNull("宽") = False Then
nr("宽") = Eval(dr("宽").replace("[长]", wr("长")).replace("[宽]", wr("宽")).replace("[厚]", wr("厚")))
End If
If dr.IsNull("厚") = False Then
nr("厚") = Eval(dr("厚").replace("[长]", wr("长")).replace("[宽]", wr("宽")).replace("[厚]", wr("厚")))
End If
If dr.IsNull("数量") = False Then
nr("数量") = Eval(dr("数量").replace("[长]", wr("长")).replace("[宽]", wr("宽")).replace("[厚]", wr("厚")))
End If
nr("计价单位") = dr("计价单位")
End If