以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  两个表有选择的合并  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65265)

--  作者:xrz
--  发布时间:2015/3/12 16:05:00
--  两个表有选择的合并
假设有两张表:A表有多列,B表也有多列。A表中有三列中的某三个单元格在B表中有完全相同的单元格对应,想把这两张表合并成一张表:C 。要求在B表中和A表完全相同的多行中选一行,选中的这一行中和A表不相同的单元格加到A表中成为C表。可以实现吗?
[此贴子已经被作者于2015/3/29 9:54:05编辑过]

--  作者:有点甜
--  发布时间:2015/3/12 16:14:00
--  

 呃,肯定可以实现,问题是你怎么选择啊,一次生成一行么?

 

 再有,请上传具体的例子。


--  作者:xrz
--  发布时间:2015/3/12 16:29:00
--  
 

 

[此贴子已经被作者于2015/3/12 18:19:46编辑过]

--  作者:有点甜
--  发布时间:2015/3/12 16:37:00
--  

代码

 

For Each dr As DataRow In DataTables("表A").Select("第一列 Is not null")
    Dim fdr As DataRow = DataTables("表C").Find("第一列 = \'" & dr("第一列") & "\' and 第二列 = \'" & dr("第二列") & "\'")
    If fdr Is Nothing Then
        fdr = DataTables("表C").AddNew
        fdr("第一列") = dr("第一列")
        fdr("第二列") = dr("第二列")
    End If
    Dim ffdr As DataRow = DataTables("表C").Find("第一列 = \'" & dr("第一列") & "\' and 第二列 = \'" & dr("第二列") & "\'")
    If ffdr IsNot Nothing Then
        fdr("第三列") = dr("第三列")
    End If
Next


--  作者:xrz
--  发布时间:2015/3/12 16:40:00
--  

 

[此贴子已经被作者于2015/3/12 18:17:53编辑过]

--  作者:xrz
--  发布时间:2015/3/12 16:42:00
--  
上传了ABC三个表,麻烦看看,谢谢。
--  作者:有点甜
--  发布时间:2015/3/12 16:42:00
--  

 看4楼。上传的例子,请弄成foxtable的项目。


--  作者:xrz
--  发布时间:2015/3/12 16:43:00
--  
请问老师,代码要在哪里加进去啊?
--  作者:有点甜
--  发布时间:2015/3/12 16:45:00
--  

 单独做个按钮运行。

 

http://www.foxtable.com/help/topics/0213.htm

 


--  作者:xrz
--  发布时间:2015/3/12 16:50:00
--  
谢谢!我试试。