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


  共有10855人关注过本帖平板打印复制链接

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

帅哥哟,离线,有人找我吗?
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编辑过]

 回到顶部