Foxtable(狐表)用户栏目专家坐堂 → [灌水]"清除"按纽的清除速度太慢


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

主题:[灌水]"清除"按纽的清除速度太慢

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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
[灌水]"清除"按纽的清除速度太慢  发帖心情 Post By:2009/3/16 17:53:00 [只看该作者]

我试将一个有18列2000行的全数据表用"清除"按纽清除数据,在CPU为1G的计算机上运行,大约需2分钟,请老六看一下.

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/16 18:00:00 [只看该作者]

表中有代码吗?

上传你的文件看看,或许自己写代码会好一点。


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


加好友 发短信
等级:小狐 帖子:324 积分:3807 威望:0 精华:0 注册:2008/9/1 7:34:00
  发帖心情 Post By:2009/3/16 18:03:00 [只看该作者]

没有代码,自己写代码速度快很多.

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/16 20:43:00 [只看该作者]

这是一个毛病,用Clear:

DataTables("表").DataRows.Clear()

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


加好友 发短信 德凯软件工作室
等级:幼狐 帖子:166 积分:1435 威望:0 精华:0 注册:2008/9/4 14:26:00
  发帖心情 Post By:2009/3/17 13:31:00 [只看该作者]

记号

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/17 14:33:00 [只看该作者]

楼主说的清除和老六说的清除是两码事。

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/17 14:54:00 [只看该作者]

哈哈,这样可以了:

DataTables
("表").DataRows.Clear()
Tables("表").AddNew(2000)

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/17 14:56:00 [只看该作者]

以下是引用狐狸爸爸在2009-3-17 14:54:00的发言:
哈哈,这样可以了:

DataTables
("表").DataRows.Clear()
Tables("表").AddNew(2000)


你好粗暴图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/3/17 15:11:00 [只看该作者]

图片点击可在新窗口打开查看


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/3/17 20:23:00 [只看该作者]

有什么不好呢,反正他要清除表中的所有数据。

老六的方法虽然粗暴,但效果应该是根相当好的,估计比下面的代码要快的多。

For Each dr As DataRow in DataTables("表A").DataRows
    For Each dc As DataCol In DataTables("表A").DataCols
        dr(dc.Name) = Nothing
    Next
Next

如果必须保留某几列的数据,可以不要第二个For Each语句,加入指定名称就可以。

 回到顶部
总数 16 1 2 下一页