以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表引用的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41449)

--  作者:tj-pacer
--  发布时间:2013/10/19 13:47:00
--  跨表引用的问题

表A和表B各列相同且都有产品编号列,表A的每一数值行下面有一空行, 想以产品编号为查找调价,将表B的各行填写在表A中,但不是填在产品编号所在的行,而是填对应的产品编号所在的下一行。请问,客否实现,代码如何写?谢谢!


--  作者:Bin
--  发布时间:2013/10/19 14:32:00
--  
循环所有行,然后插入行,上个例子吧.
--  作者:tj-pacer
--  发布时间:2013/10/19 15:45:00
--  

如所附示例,要将交货计划表的值填入到需求表的forecastcommit(ETD)所在的行。谢谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:跨表填充etd.foxdb

[此贴子已经被作者于2013-10-19 15:45:27编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/10/19 15:56:00
--  

命令窗口执行:

 

Dim nms() As String = {"W39","W40","W41","W42","W43","W44","W45","W46"}
For i As Integer = 0 To Tables("需求表").Rows.count - 2
    Dim r1 As Row = Tables("需求表").Rows(i)
    Dim r2 As Row = Tables("需求表").Rows(i + 1)
    If r1.IsNull("CustomerPN") = False AndAlso r2.IsNull("CustomerPN") Then
        Dim dr As DataRow = DataTables("交货计划表").find("CustomerPN = \'" & r1("CustomerPN") & "\'")
        If dr IsNot Nothing Then
            For Each nm As String   In nms
                r2(nm) = dr(nm)
            Next
        End If
    End If
Next

 

 

你这种格式,似乎在把foxtable当做excel用了


--  作者:lsy
--  发布时间:2013/10/19 16:02:00
--  

按Excel的思路,设计数据库,一旦觉得不合适,恐怕只能推倒重来。


--  作者:tj-pacer
--  发布时间:2013/10/19 16:14:00
--  

再次感谢!需求表不是数据库,我把它称作数据的输入输出器,是把客户的Excel表导入到“输入输出器”的,Excel的格式顺序不能变,这是我想到的最好的方法了,输入的问题已经解决,输出的问题也解决了。