Foxtable(狐表)用户栏目专家坐堂 → 老大还能再来个目瞪口呆吗?


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

主题:老大还能再来个目瞪口呆吗?

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
老大还能再来个目瞪口呆吗?  发帖心情 Post By:2010/12/14 17:17:00 [显示全部帖子]

 

Dim t1 As Date = Date.Now
Dim dic As New Dictionary(of DataRow, String)
Dim dic1 As New Dictionary(of DataRow, String)
Dim dic2 As New Dictionary(of DataRow, String)
Dim dr0 As DataRow
Dim drs As List(Of DataRow)
For Each dr As DataRow In DataTables("表A").DataRows
    dr0 = DataTables("表A").Find("[第二列] = " & dr("第一列") & " And [第三列] = false" )
    If dr0 isnot Nothing
        dic.Add(dr,dr0("_identify"))     '同下:::::::
        dic1.Add(dr,dr0("第一列"))       '找到的第二列对应的第一列的数字
        dic2.Add(dr,dr0("第二列"))       '找到的第二列等于当前行第一列的数字
        dr0("第三列") = True               '上面这个条件[第三列] = false是为了排除已经找到过的行
    End If
Next
For Each dr As DataRow In dic.Keys
    dr("第八列") = dic(dr)
Next
For Each dr As DataRow In dic1.Keys
    dr("第九列") = dic1(dr)
Next
For Each dr As DataRow In dic2.Keys
    dr("第十列") = dic2(dr)
Next
For Each dr As DataRow In DataTables("表A").DataRows
    If dr.IsNull("第六列")
        dr("第三列") = False
    End If
Next

Output.Show("计算结束, 耗时: " & (Date.Now - t1).TotalSeconds & "秒")  ‘我这计算结束, 耗时:245.2546秒

 

这是测试用的项目:(是原来狐表的例子

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目21.table

 

筛选后的效果图: 


图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2010-12-14 17:27:52编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/14 18:19:00 [显示全部帖子]

以下是引用狐狸爸爸在2010-12-14 17:31:00的发言:

呵呵,有空再看了,先问问你的任务是啥?

任务1:  玩代码····图片点击可在新窗口打开查看        用sql语句也可,lxl版主看看啊····  

任务2: 希望您再给咱一个提高速度方法 ····


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2010/12/15 11:49:00 [显示全部帖子]

  图片点击可在新窗口打开查看4楼啊·····   图片点击可在新窗口打开查看 羡慕啊~~~ 竟然比1楼提高速度近快50多倍了(我这里要5秒。。。。。        

 

我再改进也只能达到百秒以内 ,只比1楼提高3倍左右~~~ 思路不对

[此贴子已经被作者于2010-12-15 11:49:42编辑过]

 回到顶部