设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5924|回复: 15
打印 上一主题 下一主题

[窗体] 各位老师帮助我看看这个例子,如何依据条件进行BOM的展开明细,谢谢

[复制链接]
跳转到指定楼层
#
发表于 2016-11-18 12:41:55 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
100金钱
各位老师帮助我看看这个例子,如何依据条件进行BOM的展开明细,谢谢
子窗体中MB属性为"M"的代表是有下层BOM的需要进行二次加工;"B"为没有为直接采购物料,
问题,我的想法是将子窗体中"子项属性MB"属性为"M"的,后面的字段"MB"值进行选择,然后点击命令按钮"Extract"进行拆分提取出它的明细,将子窗体中明细追加到表"tblTempBOM_Breakformula"中。
请大家看看

附件: 您需要 登录 才可以下载或查看,没有帐号?注册
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
15#
 楼主| 发表于 2016-12-7 08:11:43 | 只看该作者
谢谢老师您的帮助,
回复

使用道具 举报

14#
发表于 2016-12-6 23:28:22 | 只看该作者
本帖最后由 Benjamin_luk 于 2016-12-6 23:35 编辑




大体做了一个,但以下没考虑以下内容(需要考虑才能用于实际MRP运算)
1.报废率
2.BOM里面是否有固定量消耗设置
3.第一层后的物料消耗不是基于第一层的用量,层次间的数量没有关联;

如果需要关联的话,在tblSKUtemp里面有记录上一层BOM需要的数量,自己做进一步处理就好了。
ParentQty就是上一层BOM需要的数量,BOMEXP记录对应的BOM是否展开过。
如果还需要上一层BOM的报废率,自己可以加上。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

13#
发表于 2016-12-6 14:47:45 | 只看该作者
yanwei82123300 发表于 2016-12-6 13:56
学习了,谢谢了,四班太老了,落伍了,准备换oracle,不知这个高大上咋样?感觉印度人做的,有点绕弯

四班原是美国的。
Oracel没用过,听说与sap大致一样;
sap强在于MRP和扩展性
晚上再帮你整理多层查询
回复

使用道具 举报

12#
 楼主| 发表于 2016-12-6 13:56:05 | 只看该作者
Benjamin_luk 发表于 2016-12-6 13:08
那就是多层BOM物料需求吧。
就上从上层一直导到最后一层吧
之前公司上电子帐册,有解过的多层为单层 ...

学习了,谢谢了,四班太老了,落伍了,准备换oracle,不知这个高大上咋样?感觉印度人做的,有点绕弯
回复

使用道具 举报

11#
发表于 2016-12-6 13:08:04 | 只看该作者
本帖最后由 Benjamin_luk 于 2016-12-6 13:17 编辑
yanwei82123300 发表于 2016-12-6 08:25
Benjamin_luk谢谢老师您的帮助,我想做四班系统MBIL的代码


那就是多层BOM物料需求吧。
就上从上层一直导到最后一层吧
之前公司上电子帐册,有解过的多层为单层的;年代过久找不着了

这个可以先用查询将多层BOM组合起来。
1.需求算法是不是:生产数量* BOM消耗量*(1+报废率)
2.BOM里面是否有固定量消耗的?就是每个工单都消耗同一个数量
3.BOM的计划基数都是1吗?
4.你BOM最多是多少层?

回复

使用道具 举报

10#
 楼主| 发表于 2016-12-6 08:25:35 | 只看该作者
Benjamin_luk谢谢老师您的帮助,我想做四班系统MBIL的代码
回复

使用道具 举报

9#
发表于 2016-12-6 00:25:12 | 只看该作者
本帖最后由 Benjamin_luk 于 2016-12-6 00:29 编辑

方法:
1.读取了窗体中的记录集,取得“M“的产品
2.将”M”产品加入到临时表tblSKUtemp
3.用追加查询SQL_ExtBOM,将BOM资料加到表tblTempBOM_Breakformula里面

问题,
1.如果产品是“B”是否需要加到表tblTempBOM_Breakformula里面
2.可能BOM第二层还会有半成品; 如果还需要导的话,代码需要修改。






Private Sub Extract_Click()
Dim rs As Recordset, str As String, rs1 As Recordset
Dim I As Integer, K As Integer
Set rs = frmSubcheckBOMDetail.Form.Recordset
K = 0
If rs.RecordCount > 0 Then
    rs.MoveFirst
    CurrentDb.Execute "Delete * from tblSKUTemp"
    CurrentDb.Execute "Delete * from tblTempBOM_Breakformula"
    Set rs1 = CurrentDb.OpenRecordset("tblSKUTemp")
    Do Until rs.EOF        
        If rs("子项属性MB") = "M" Then
            rs1.AddNew
            rs1("SubSKU") = rs("子项")
            rs1.Update
            K = K + 1
        End If
    rs.MoveNext
    Loop
    If K > 0 Then
        DoCmd.OpenQuery "SQL_ExtBOM"
        MsgBox "BOM导出完成"
        Else
        MsgBox "没有需要生产的半成品"
    End If
End If
End Sub






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

8#
 楼主| 发表于 2016-11-19 12:56:52 | 只看该作者
都是一样的产品
回复

使用道具 举报

7#
 楼主| 发表于 2016-11-19 12:56:32 | 只看该作者
Benjamin_luk 发表于 2016-11-18 23:53
问一下:M125155 与 125155是什么关系的

不带M为发货产品,带M为内部使用
回复

使用道具 举报

6#
发表于 2016-11-18 23:53:02 | 只看该作者
问一下:M125155 与 125155是什么关系的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-16 14:27 , Processed in 0.094729 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表