Foxtable(狐表)用户栏目专家坐堂 → 跨表填充


  共有10444人关注过本帖树形打印复制链接

主题:跨表填充

帅哥哟,离线,有人找我吗?
floor2
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
跨表填充  发帖心情 Post By: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)


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/14 11:22:00 [只看该作者]

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

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

 

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

 

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

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
floor2
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
  发帖心情 Post By:2012/2/14 11:58:00 [只看该作者]

唯一不了啊,编号对应的是产品信息,每个产品可以不断被订购,所以订单日期和编号组合才可以是唯一。
我的思路是,在进度表中取得 订单日期和编号的数组arys(), 订单表里 订单日期和编号的数组barys(),然后筛选填充 barys()在arys()里的数据 

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/14 11:59:00 [只看该作者]

既然现在的编号是产品编号,那么进度表再加上订单编号,通过订单编号联系起来。

 回到顶部
帅哥哟,离线,有人找我吗?
floor2
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
  发帖心情 Post By:2012/2/14 12:07:00 [只看该作者]

订单表也要增加订单编号了,虽然这样可以联起来,但是进度表里还是要有条件的筛选,进度表里未完工的订单,才要从订单表里提取具体的产品数据

 回到顶部
帅哥哟,离线,有人找我吗?
floor2
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
  发帖心情 Post By:2012/2/14 12:15:00 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/2/14 12:17:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
floor2
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:369 积分:2911 威望:0 精华:0 注册:2009/4/1 12:51:00
  发帖心情 Post By:2012/2/14 12:21:00 [只看该作者]

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

 回到顶部
总数 14 1 2 下一页