Foxtable(狐表)用户栏目专家坐堂 → 代码优化


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

主题:代码优化

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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 10:41:00 [显示全部帖子]

GetValues("凭证号","对方科目 is null")和Compute("sum(贷方)","凭证号 = '" & pz & "'")可以合并使用分组统计生成,下面部分貌似没有优化的可能

Dim t1 As DataTable = DataTables("Sheet3")
Dim b As New GroupTableBuilder("统计表1",t1)
b.Groups.AddDef("凭证号") '根据产品分组
b.Totals.AddDef("贷方","合计") '对数量进行统计
b.Filter = "对方科目 is null"
Dim dt As DataTable = b.Build(True) '生成统计表
For Each dr As DataRow In dt.DataRows
        
    Dim hj As Double
    hj = dr("合计")
    For Each a As DataRow In  t1.Select("借方 is not null And 借方 <> 0  And 凭证号 = '" & dr("凭证号") & "'","_sortkey")
        a("凭证号") = pz & "拆"
        For Each b As DataRow In t1.Select("贷方 is not null  and 贷方 <> 0  And 凭证号 = '" & dr("凭证号") & "'","_sortkey")
            
            Dim tr As DataRow = t1.AddNew()
            tr("一级科目名称") = a("一级科目名称")
            tr("借方") = a("借方") * b("贷方")/hj
            tr("对方科目") = b("一级科目名称")
            tr("凭证号") = pz
            b("凭证号") = pz & "拆"
            
        Next
        
    Next
    
    
Next

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


加好友 发短信
等级:超级版主 帖子:113480 积分:577889 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/11/10 11:57:00 [显示全部帖子]

请上传具体实例测试

 回到顶部