Foxtable(狐表)用户栏目专家坐堂 → [求助]快速复制


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

主题:[求助]快速复制

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


加好友 发短信
等级:幼狐 帖子:106 积分:923 威望:0 精华:0 注册:2017/3/9 9:05:00
[求助]快速复制  发帖心情 Post By:2017/10/25 22:18:00 [显示全部帖子]

各位老师,

如何能快速实现,A表中第一列符合某一条件则自动添加到B表第一列,但A表某行删除时B表相应列不删除,可建立关联。我认为是快速比较两个表。
遍历有点慢,谢谢!

Dim nt As List(Of String)

nt = DataTables("通讯录").GetValues("Chinese_Name")

Dim ny As List(Of String)

ny = DataTables("员工").GetValues("Chinese_Name","Mobilization_to_Kuwait_From_Boarding Is not Null And Company = '项目部'")

For Each n As String In ny

    If nt.Contains(n) = False Then

        Dim dr1 As DataRow

        dr1 = DataTables("员工").Find("Chinese_Name = '" & n & "' and Mobilization_to_Kuwait_From_Boarding Is not Null")

        If dr1 IsNot Nothing Then '如果找到的话

            Dim dr2 As DataRow = DataTables("通讯录").AddNew

            dr2("Chinese_Name") = dr1("Chinese_Name")

            dr2("English_Name") = dr1("English_Name")

            dr2("Department") = dr1("Personnel_Classify_Department")

            dr2("Position") = dr1("Personnel_Classify_Position")

            dr2("Company") = dr1("Company")

        End If

    End If

Next

DataTables("通讯录").Save()


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


加好友 发短信
等级:幼狐 帖子:106 积分:923 威望:0 精华:0 注册:2017/3/9 9:05:00
  发帖心情 Post By:2017/10/26 16:25:00 [显示全部帖子]

因为我好多地方要用到类似的功能,A表和B表第一列值是一样的,查找出A表符合一定条件的行,然后两表第一列做比较,并把A表中存在的B表中没有的添加到B表。
我处理的数据将近50万行,这要作比较感觉效率太慢,不知道又没什么效率高点的办法?

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


加好友 发短信
等级:幼狐 帖子:106 积分:923 威望:0 精华:0 注册:2017/3/9 9:05:00
  发帖心情 Post By:2017/10/26 19:20:00 [显示全部帖子]

谢谢老师!还是SQL速度快啊。
老师foxtable的保存效率确实较慢,请什么命令可以替代啊?

 回到顶部