Foxtable(狐表)用户栏目专家坐堂 → [求助]优化代码速度


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

主题:[求助]优化代码速度

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 14:29:00 [显示全部帖子]

 说明你的逻辑,你原本想做什么的?

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 14:59:00 [显示全部帖子]

 如果你执行的结果是正确的,遍历肯定会慢。

 

 最多控制一下刷新

 

http://www.foxtable.com/help/topics/0401.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 15:17:00 [显示全部帖子]

 这个应该是没办法的,200行,如果有20列的话,就相当于增加4000行数据了

 

 但是几分钟也就太慢了。看5楼,再试试这个 http://www.foxtable.com/help/topics/2218.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 15:26:00 [显示全部帖子]

 看楼上

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 15:31:00 [显示全部帖子]


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 16:00:00 [显示全部帖子]

没有影响,不过影响排序

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 16:01:00 [显示全部帖子]

SystemReady = False
DataTables("工资明细表").StopRedraw
For Each dr As DataRow In DataTables("表D").Datarows
    For Each dc As DataCol In DataTables("表D").DataCols
        Dim gx As String
        gx=dc.name
       
        If gx <>"姓名" And gx <>"单据编号" And gx <> "员工编号" And  gx <> "生产任务单号" Then
            If dr(gx) > 0 And dr("姓名") <> "可申报最大数量" Then
                dr(gx) = math.Floor( dr(gx) * 10000) / 10000 '取小数位前四位
                Dim dr1 As DataRow = DataTables("工资明细表").Addnew
                dr1("生产任务单号") = scrwdh.Value
                dr1("单据编号") = dr("单据编号")
                dr1("员工编号") = dr("员工编号")
                dr1("工序名称") = gx
                dr1("数量") = dr(gx)
                dr1("销售订单号") = xsddh.Value
                dr1("产品名称") = cpmc.Value
                dr1("工资日期") = gzrq.Value
                dr1("单据类型") = djlx.Value
                dr1("工资所属车间") = cjmc.Value
                dr1("制单时间") = zdsj.Value
            End If
        End If
    Next
Next
DataTables("工资明细表").ResumeRedraw
SystemReady = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/4 16:27:00 [显示全部帖子]

 不知道你的意图。

 

 你的dt是不是不应该每次都生成,生成一次行不行。


 回到顶部