以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  跨表填充  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16437)

--  作者:floor2
--  发布时间:2012/2/14 11:12:00
--  跨表填充
窗口中的表,需要fill订单表中的数据,条件是,订单表中的"编号"、"订单日期"与进度表的"编号"、"订单日期"一致,且进度表未完工.
 帮忙指点,谢谢.


Dim Arys As List(Of String()) 
Dim 2Arys As List(Of String()) 
Arys = DataTables("进度表").GetUniqueValues("[完工] <> \'已完工\'", "订单日期","编号")
2Arys = DataTables("订单").GetUniqueValues(" ", "订单日期","编号")

Tables("彩印明细_table1").Fill("Select [订单日期],[客户],[编号] From {订单管理} where  **** ","wanbang",True)


--  作者:狐狸爸爸
--  发布时间:2012/2/14 11:22:00
--  

订单表的订单那编号应该是唯一的,通过编号就可以识别一条订单,不要再通过订单日期。

订单表和进度表也可以通过订单表来关联起来,这样才好处理,否则我也没有办法。

 

如果做到上面这一点,可以看看:

 

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

 

 


--  作者:floor2
--  发布时间:2012/2/14 11:58:00
--  
唯一不了啊,编号对应的是产品信息,每个产品可以不断被订购,所以订单日期和编号组合才可以是唯一。
我的思路是,在进度表中取得 订单日期和编号的数组arys(), 订单表里 订单日期和编号的数组barys(),然后筛选填充 barys()在arys()里的数据 

--  作者:狐狸爸爸
--  发布时间:2012/2/14 11:59:00
--  
既然现在的编号是产品编号,那么进度表再加上订单编号,通过订单编号联系起来。
--  作者:floor2
--  发布时间:2012/2/14 12:07:00
--  
订单表也要增加订单编号了,虽然这样可以联起来,但是进度表里还是要有条件的筛选,进度表里未完工的订单,才要从订单表里提取具体的产品数据
--  作者:floor2
--  发布时间:2012/2/14 12:10:00
--  
Dim Arys As List(Of String()) 
Arys = DataTables("进度表").GetUniqueValues("[完工] <> \'已完工\'", "订单日期","编号")
Dim Brys As List(Of String()) 
Brys = DataTables("订单").GetUniqueValues(" ", "订单日期","编号")

Tables("彩印明细_table1").Fill("Select [订单日期],[客户],[编号],[产品名称],[完工] From {订单} where Brys() in arys() ","wbbzd",True)


这样的功能  , 代码可以实现吗?
[此贴子已经被作者于2012-2-14 12:10:44编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/2/14 12:12:00
--  

如果这样,类似这样判断一下即可:

 

 

If DataTables("订单").DataRows.Count = 0 Then \'如果订单表没有数据
    DataTables("订单明细").LoadFilter = "订单ID Is Null" \'不加载订单明细
Else
    Dim ids As String
    For Each dr As DataRow In DataTables("订单").DataRows
        If dr("完工") = False Then
            ids = ids & "," & dr("订单ID")
        End If
    Next
    ids= ids.Trim(",")
    DataTables("订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables("订单明细").Load()


--  作者:floor2
--  发布时间:2012/2/14 12:15:00
--  
完工列在 进度表里,不在订单表里啊
我是要填充到窗口中的表里
[此贴子已经被作者于2012-2-14 12:16:37编辑过]

--  作者:狐狸爸爸
--  发布时间:2012/2/14 12:17:00
--  

上面的代码,订单就等于你的完工表,订单明细就等于你的订单表。


--  作者:floor2
--  发布时间:2012/2/14 12:21:00
--  
能不能用数组来实现,这样不用更改表结构来实现,
窗口中得表 填充代码该怎么写呢,
[此贴子已经被作者于2012-2-14 12:22:37编辑过]