以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创] 关于两表的比较  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29839)

--  作者:fpx406
--  发布时间:2013/3/14 17:06:00
--  [原创] 关于两表的比较

各位,请教一个问题:

有两张表A 和B,同有一个列 “匹配项”,想要找出A表出现过的匹配项,但是在B表中没有出现,并生产一个新的表,请问应该怎么写代码?

谢谢!


--  作者:fpx406
--  发布时间:2013/3/14 17:10:00
--  
就是把结果在一个新的表中查看
--  作者:狐狸爸爸
--  发布时间:2013/3/14 17:12:00
--  

用这个就行了,很简单:

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

 


--  作者:fpx406
--  发布时间:2013/3/14 17:13:00
--  
收到 谢谢狐狸爸爸
--  作者:fpx406
--  发布时间:2013/3/14 17:15:00
--  
那如果想写成代码 就直接形成一个按钮菜单 应该怎么处理呢?
--  作者:fpx406
--  发布时间:2013/3/14 17:19:00
--  

狐狸爸爸 那如果有三张表  这个关联搜索就没有办法是用了呀?

比如说要找表A中的某列数据 都不在表B和表C相应列中?

请问应该怎么处理?


--  作者:狐狸爸爸
--  发布时间:2013/3/15 9:25:00
--  

A加个逻辑型的标志列

 

for each dr As Datarow in DaaTables("表A").DataCols

    dim dr1 As Datarow = DataTables("表B").Find("某列 =\'" & dr("某列" & “‘”)

    dim dr2 As Datarow = DataTables("表C").Find("某列 =\'" & dr("某列" & “‘”)

    if dr1 IsNot Nothing OrElse dr2 IsNot Nothing Then

      dr("标志") = True

   Else

     dr("标志") = False

Next

Tables("表A").Filter = "标注 = True"

 

 

上面是筛选在表B或表C有数据的,如果要筛选没有数据的,最后一行改为:

Tables("表A").Filter = "标注 = False"