以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教最快速度清空表的空行空格代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98778) |
-- 作者:hbhb -- 发布时间:2017/4/6 22:49:00 -- 请教最快速度清空表的空行空格代码 色大师:下面一次清空表的空行空格如何优化? Dim Filter As String \'---------清除空行----- For Each dc As DataCol In b1.DataTable.DataCols Filter = Filter & " And " & dc.Name & " Is Null" Next Filter = Filter.SubString(5) b1.DataTable.DeleteFor(Filter) For Each r1 As DataRow In b1.DataTable.dataRows \'---清除所有空格----- For Each l1 As DataCol In b1.DataTable.dataCols If r1.IsNull(l1.name) = False Then r1(l1.name) = cstr(trim(r1(l1.name))).replace(" ","") End If Next Next |
-- 作者:有点色 -- 发布时间:2017/4/7 2:20:00 -- 已经是最优解了。 |
-- 作者:hbhb -- 发布时间:2017/4/7 9:29:00 -- 请问为何有时增加条件判断反而会降低效率?按理说不是减少了工作量吗? |
-- 作者:有点蓝 -- 发布时间:2017/4/7 9:34:00 -- 除非你的条件判断能显著减少循环的次数,否则只会增加工作量 |
-- 作者:有点青 -- 发布时间:2017/4/7 9:37:00 -- 以下是引用hbhb在2017/4/7 9:29:00的发言:
请问为何有时增加条件判断反而会降低效率?按理说不是减少了工作量吗?
增加条件判断肯定会影响查询效率,条件越多效率越低。
条件多以后,获取的数据可能会较少,后续的代码执行的次数可能就较少,所以有一种给你的错觉。 |