以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现表表比对输出不同到临时表?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=64276)

--  作者:wh420
--  发布时间:2015/2/9 17:08:00
--  如何实现表表比对输出不同到临时表?

“订单表”的项目编号字段与“项目表”的编号字段做对比(即订单表项目编号字段去项目表编号字段去搜索)如果在项目表中找不到则把找不到的记录信息列到“对比表”中相应字段。如何实现请老师帮忙,见例子。

 

 

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

 


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

--  作者:wh420
--  发布时间:2015/2/9 17:09:00
--  

注:在对比前项目编号字段多了两个前辍(XM),如何去掉前缀后再对比?

[此贴子已经被作者于2015/2/9 17:09:34编辑过]

--  作者:Bin
--  发布时间:2015/2/9 17:13:00
--  
Find的时候.SUbstring(2,str.lenght-2) 去掉前缀就好了

你原本是怎么做的,把代码发上来.给你修改一下即可

--  作者:wh420
--  发布时间:2015/2/9 17:18:00
--  

去掉前缀有点思路,但对比功能没做过麻烦老师帮忙改一下例子我学习一下。


--  作者:Bin
--  发布时间:2015/2/9 17:24:00
--  
是要互相找呢,还是项目表找订单表没有的
--  作者:wh420
--  发布时间:2015/2/9 17:29:00
--  

订单表找项目表


--  作者:Bin
--  发布时间:2015/2/9 17:30:00
--  
但是你项目表的数据比订单表多啊.说反了吧?
--  作者:wh420
--  发布时间:2015/2/9 17:31:00
--  
订单表去项目表中搜索,没有的列到窗口的虚拟表中
--  作者:有点甜
--  发布时间:2015/2/9 17:33:00
--  

Dim dt2 As DataTable = DataTables("项目表")
Dim dt1 As DataTable = DataTables("订单表")
Dim dt3 As DataTable = DataTables("对比表")

For Each dr As DataRow In dt2.Select("", "编号")
    Dim filter As String = "项目编号 like \'%" & dr("编号") & "\'"
    Dim fdr As DataRow = dt1.Find(filter)
    If fdr Is Nothing Then
        Dim ndr As DataRow = dt3.AddNew
        ndr("pnumber") = dr("编号")     
       
    End If
Next


--  作者:Bin
--  发布时间:2015/2/9 17:35:00
--  
For Each dr As DataRow In DataTables("订单表").DataRows
    Dim drr As DataRow = DataTables("项目表").Find("编号=\'" & dr("项目编号").Substring(2,dr("项目编号").length-2) & "\'")
    If drr Is Nothing Then
        Dim dr2 As DataRow = DataTables("对比表").addnew
        dr2("列名")=dr("列名")
    End If
Next