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


  共有1843人关注过本帖平板打印复制链接

主题:代码优化

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


加好友 发短信
等级:狐神 帖子:5055 积分:13047 威望:0 精华:0 注册:2014/5/15 21:34:00
代码优化  发帖心情 Post By:2018/11/10 9:40:00 [只看该作者]

大师:下面的代码如何优化


Dim t1 As DataTable = DataTables("Sheet3")
Dim pzh As new List(of String)
pzh = t1.GetValues("凭证号","对方科目 is null")
Dim Dic As new Dictionary(of String,Double)
Dim dfhj As Double
Dim Dicrow As new Dictionary(of String,List(of DataRow))
Dim Dicrow1 As new Dictionary(of String,List(of DataRow))
For Each pz As String In pzh
    
    dfhj = t1.Compute("sum(贷方)","凭证号 = '" & pz & "'")
    dic.Add(pz,dfhj)
    Dim jh1 As new List(of DataRow)
    Dim jh2 As new List(of DataRow)
    jh1 = t1.Select("借方 is not null" & " and 借方 <> 0 " & " And 凭证号 = '" & pz & "'","_sortkey")
    jh2 = t1.Select("贷方 is not null" & " and 贷方 <> 0 " & " And 凭证号 = '" & pz & "'","_sortkey")
    Dicrow.Add(pz,jh1)
    Dicrow1.Add(pz,jh2)
    
Next


For Each pz As String In pzh
        
    Dim hj As Double
    hj = dic(pz)
    For Each a As DataRow In Dicrow(pz)
        a("凭证号") = pz & "拆"
        For Each b As DataRow In Dicrow1(pz)
            
            Dim tr As DataRow = t1.AddNew()
            tr("一级科目名称") = a("一级科目名称")
            tr("借方") = a("借方") * b("贷方")/hj
            tr("对方科目") = b("一级科目名称")
            tr("凭证号") = pz
            b("凭证号") = pz & "拆"
            
        Next
        
    Next
    
    
Next


 回到顶部