Foxtable(狐表)用户栏目专家坐堂 → 筛选


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

主题:筛选

美女呀,离线,留言给我吧!
longyanlin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1668 威望:0 精华:0 注册:2016/5/12 14:53:00
筛选  发帖心情 Post By:2017/9/12 15:40:00 [只看该作者]

老师,我做了个“生产订单”表和一个“订单明细”表,当“生产订单”表里面产品编号发生变化时,“订单明细”表里自动从“产品BOM表”里提取数据,当“产品BOM表”里面多增加一列“类型”,其中内容为“客户名称”和”通用”,如何使下以下代码变成:

当“生产订单”表里面产品编号发生变化时,“订单明细”表里面自动提取出“产品BOM表”里面的茶品编号编号相同的“类型=通用+类型=前表客户名称”的内容

If e.DataCol.Name = "产品编号" Then
    DataTables("订单明细").DeleteFor("生产单号 = '" & e.DataRow("生产单号").Replace("'", "''") & "'")
    For Each dr As DataRow In DataTables("产品BOM表").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "'")
        Dim nr As Row = Tables("订单明细").Addnew
        nr("生产单号") = e.DataRow("生产单号")
        nr("编码") = dr("编码")
        nr("名称") = dr("名称")
        nr("规格") = dr("规格")
        nr("系数") = dr("系数")
        nr("单位") = dr("单位")
        nr("属性") = dr("属性")
       nr("类别") = dr("类别")
    Next
End If


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 15:57:00 [只看该作者]

For Each dr As DataRow In DataTables("产品BOM表").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "' and 类型='" & e.datarow("某列") & "'")

 回到顶部
美女呀,离线,留言给我吧!
longyanlin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1668 威望:0 精华:0 注册:2016/5/12 14:53:00
  发帖心情 Post By:2017/9/12 16:31:00 [只看该作者]

For Each dr As DataRow In DataTables("产品BOM表").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "' and 类型='" & e.DataRow("客户名称") & "'")

这样的话只能是提取“类型”列里面客户名称与“生产订单”表客户名称相等的行,但是还是不能实现同时提取“产品BOM表”里面的类型=通用的行啊,也就是说“类型”=通用 是公用的,不管是怎样提取,类型=通用的都需要,类型=XX客户才是需要提取的


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 17:30:00 [只看该作者]

产品Bom表,类型列存放什么数据,要怎么匹配?举例说明。

 回到顶部
美女呀,离线,留言给我吧!
longyanlin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:171 积分:1668 威望:0 精华:0 注册:2016/5/12 14:53:00
  发帖心情 Post By:2017/9/12 18:07:00 [只看该作者]

产品BOM表类“类型”里面除了字符“通用”外,其它都是客户的名称,如下

通用

深圳日起亚

浙江哈尔斯

江苏金樽

深圳比亚迪

浙江三顾

 其主要目的是因为BOM里面的产品名称太多,像有些产品是通用的,只是每个客户的包装要求不同而已,那么就把BOM表里面的内容做成一样,同时把几个客户的特殊要求都做进去,这样的话,生产订单里面出现不同的客户,那么订单明细里面的物料就会出现BOM表里面通用的内容和客户指定要求的内容,谢谢老师!

[此贴子已经被作者于2017/9/12 18:10:36编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/9/12 18:17:00 [只看该作者]

For Each dr As DataRow In DataTables("产品BOM表").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "' and (类型='" & e.DataRow("客户名称") & "' or 类型 = '通用')")

 回到顶部