-- 作者:建筑人生
-- 发布时间:2014/11/5 18:37:00
-- 代码速速优化,现在速度非常慢
现在一万行数据要1分钟,太慢了,主要时间应该在Tables("临时表").AddNew 上面,那怎么样才能判断有多少据的行,及有效数据列的总行数
SystemReady = False \'关闭刷新 Try DataTables("临时表").DataRows.Clear \'先清空临时表 For Each r As Row In Tables("电气工程量").Rows \'遍历电气工程量的各行 If r.IsNull("电线_规格1") = False Then \'先判断型号1是否为空 Dim r1 As Row = Tables("临时表").AddNew r1("单项工程名称") = r("单项工程名称") r1("单位工程名称") = r("单位工程名称") r1("分项工程名称") = r("分项工程名称") r1("型号规格") = r("电线_规格1") r1("清单数量") = r("清单_电线1合计") r1("定额数量") = r("定额_电线1合计") End If If r.IsNull("电线_规格2") = False Then \'先判断型号2是否为空 Dim r2 As Row = Tables("临时表").AddNew r2("单项工程名称") = r("单项工程名称") r2("单位工程名称") = r("单位工程名称") r2("分项工程名称") = r("分项工程名称") r2("型号规格") = r("电线_规格2") r2("清单数量") = r("清单_电线2合计") r2("定额数量") = r("定额_电线2合计") End If If r.IsNull("管道规格") = False Then \'先判断型号2是否为空 Dim r3 As Row = Tables("临时表").AddNew r3("单项工程名称") = r("单项工程名称") r3("单位工程名称") = r("单位工程名称") r3("分项工程名称") = r("分项工程名称") r3("型号规格") = r("管道规格") r3("清单数量") = r("管道合计") r3("定额数量") = r("管道合计") End If Next Catch ex As Exception MessageBox.Show("计算错误") End try SystemReady = True \'关闭刷新
Dim g As New GroupTableBuilder("汇总表", DataTables("临时表")) g.Groups.AddDef("单项工程名称") g.Groups.AddDef("单位工程名称") g.Groups.AddDef("分项工程名称")
g.Groups.AddDef("型号规格") g.Totals.AddDef("清单数量") g.Totals.AddDef("定额数量") g.Build() MainTable = Tables("汇总表")
[此贴子已经被作者于2014-11-5 18:48:55编辑过]
|