Foxtable(狐表)用户栏目专家坐堂 → if 分支多了增加行很慢


  共有3788人关注过本帖树形打印复制链接

主题:if 分支多了增加行很慢

帅哥哟,离线,有人找我吗?
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/4/23 9:46:00 [显示全部帖子]

换种方式替代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


 回到顶部