窗口中的表,需要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)
订单表的订单那编号应该是唯一的,通过编号就可以识别一条订单,不要再通过订单日期。
订单表和进度表也可以通过订单表来关联起来,这样才好处理,否则我也没有办法。
如果做到上面这一点,可以看看:
http://www.foxtable.com/help/topics/2228.htm
唯一不了啊,编号对应的是产品信息,每个产品可以不断被订购,所以订单日期和编号组合才可以是唯一。
我的思路是,在进度表中取得 订单日期和编号的数组arys(), 订单表里 订单日期和编号的数组barys(),然后筛选填充 barys()在arys()里的数据
既然现在的编号是产品编号,那么进度表再加上订单编号,通过订单编号联系起来。
订单表也要增加订单编号了,虽然这样可以联起来,但是进度表里还是要有条件的筛选,进度表里未完工的订单,才要从订单表里提取具体的产品数据
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编辑过]
如果这样,类似这样判断一下即可:
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()
完工列在 进度表里,不在订单表里啊
我是要填充到窗口中的表里
[此贴子已经被作者于2012-2-14 12:16:37编辑过]
上面的代码,订单就等于你的完工表,订单明细就等于你的订单表。
能不能用数组来实现,这样不用更改表结构来实现,
窗口中得表 填充代码该怎么写呢,
[此贴子已经被作者于2012-2-14 12:22:37编辑过]