Foxtable(狐表)用户栏目专家坐堂 → [求助] BOM展开增加说明


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

主题:[求助] BOM展开增加说明

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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
[求助] BOM展开增加说明  发帖心情 Post By:2019/7/6 10:26:00 [只看该作者]

请版主帮忙指点一下:

 

如图1,Orderlist 表中没有日期的时候就出现了错误,可不可以空白也可以进行。

如图2,  表物料需求中增加了个列名 “层次”,如何自动填写这些固定内容,并用字体颜色区分。谢谢。

 

 


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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/6 10:26:00 [只看该作者]

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


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:捕获2.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/6 10:58:00 [只看该作者]

DataTables("物料需求").datarows.clear
For Each Ary As String() In DataTables("OrderList").GetValues("PartNo|ETD|批号","PartNo is not null")
    Dim dr As DataRow = DataTables("物料需求").AddNew
    dr("PartNo") = ary(0)
    If ary(1) > ""
        dr("Date") = cdate(ary(1))
    End If
    dr("批号") = ary(2)
    Dim qty As Integer = DataTables("OrderList").Compute("sum(Qty)","PartNo='" & ary(0) & "' And " & IIf(ary(1) > "","ETD='" & ary(1) & "'","ETD is null") & " and 批号 ='" & ary(2) & "'")
    dr("Demand") = qty
    
    
    Functions.Execute("sumChild",ary(0),qty, ary(0), dr("Date"),ary(2))
    
Next


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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/6 11:18:00 [只看该作者]

感谢蓝老师了。

 

表物料需求中增加了个列名 “层次”,如何自动填写BOM,第一层,第二层以及没有无BOM 这些内容。帮忙再指点一下,感谢。

 


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/6 11:46:00 [只看该作者]

递归函数添加多一个整数参数,每递归一次就+1传入,不就有层次了

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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/6 12:46:00 [只看该作者]

老师,这个不了解,有点难度

 

第一层里分 BOM 和无BOM

第二层

第三层

可能还有第三,四层

这些都是变动的

麻请麻烦帮忙一下如何增加。十分感谢。

 


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/6 13:50:00 [只看该作者]

……
 Dim qty As Integer = DataTables("OrderList").Compute("sum(Qty)","PartNo='" & ary(0) & "' And " & IIf(ary(1) > "","ETD='" & ary(1) & "'","ETD is null") & " and 批号 ='" & ary(2) & "'")
    dr("Demand") = qty
    
    
    Functions.Execute("sumChild",ary(0),qty, ary(0), dr("Date"),ary(2),1)
    
Next

函数
dim idx as integer = args(5)
msgbox(idx)
……
    ndr("批号") = args(4)
    ndr("Demand") = dr("FQty") * qty
    Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4),idx+1)
……

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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/6 14:29:00 [只看该作者]

感谢蓝老师的指点。结果如图。头层里分 BOM 和无BOM,没有做到,也再次麻烦老师指点一下。谢谢。

 

 

Dim pn As String = args(0)
Dim qty As String = args(1)
Dim idx As Integer = args(5)

For Each dr As DataRow In  DataTables("BOM").Select("FNumber='" & pn & "'")
    Dim ndr As DataRow = DataTables("物料需求").AddNew
    ndr("PartNo") = dr("PN")
    ndr("Date") = args(3)
    ndr("批号") = args(4)
    ndr("Demand") = dr("FQty") * qty
    ndr("层次") = "第" & idx & "层"

 
    Functions.Execute("sumChild",dr("PN"),ndr("Demand"), args(2), args(3), args(4),idx+1)
Next


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


加好友 发短信
等级:三尾狐 帖子:799 积分:5921 威望:0 精华:0 注册:2018/11/3 8:24:00
  发帖心情 Post By:2019/7/6 14:30:00 [只看该作者]

 


图片点击可在新窗口打开查看此主题相关图片如下:捕获.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/6 14:48:00 [只看该作者]

头层直接在按钮里赋值啊

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