Foxtable(狐表)用户栏目专家坐堂 → [求助]BOM用量計算問題


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

主题:[求助]BOM用量計算問題

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


加好友 发短信
等级:幼狐 帖子:150 积分:1088 威望:0 精华:0 注册:2012/11/16 10:21:00
[求助]BOM用量計算問題  发帖心情 Post By:2020/7/1 9:43:00 [显示全部帖子]

老師好,我做了一個利用三個暫存表計算BOM用量的程式,可是由於不確定BOM的階層,不曉得應該要讓程式運行多少次才能確定所有成品、半成品階都換算成材料,請老師幫我看看怎麼修改,謝謝!

For i As Integer = 1 To 8
    If i Mod 2 = 1 Then
        Dim drs As List (of DataRow) = DataTables("BOM用量計算暫存二").Select("","主件路徑")
        If drs IsNot Nothing Then
            For Each dr As DataRow In drs
                For Each BOM As DataRow In DataTables("BOMUsage").Select("[主件品號] = '" & dr("品號") & "' And [元件狀態] = '有效'")
                    Dim Item_Code As String = BOM("元件品號")
                    If Item_Code.StartsWith("B") Or Item_Code.StartsWith("C") Then
                        Dim radd As Row = Tables("BOM用量計算暫存一").AddNew
                        radd("品號") = BOM("元件品號")
                        radd("數量") = BOM("單位用量") * dr("數量")
                        radd("主件路徑") = dr("主件路徑") & "." & BOM("主件品號")
                    Else
                        Dim radd As Row = Tables("BOM材料暫存明細").AddNew
                        radd("品號") = BOM("元件品號")
                        radd("數量") = BOM("單位用量") * dr("數量")
                        radd("主件路徑") = dr("主件路徑")
                    End If
                Next
            Next
            DataTables("BOM用量計算暫存二").DataRows.Clear
        End If
    End If
    If i Mod 2 = 0 Then
        Dim drs As List (of DataRow) = DataTables("BOM用量計算暫存一").Select("","主件路徑")
        If drs IsNot Nothing Then
            For Each dr As DataRow In drs
                For Each BOM As DataRow In DataTables("BOMUsage").Select("[主件品號] = '" & dr("品號") & "' And [元件狀態] = '有效'")
                    Dim Item_Code As String = BOM("元件品號")
                    If Item_Code.StartsWith("B") Or Item_Code.StartsWith("C") Then
                        Dim radd As Row = Tables("BOM用量計算暫存二").AddNew
                        radd("品號") = BOM("元件品號")
                        radd("數量") = BOM("單位用量") * dr("數量")
                        radd("主件路徑") = dr("主件路徑") & "." & BOM("主件品號")
                    Else
                        Dim radd As Row = Tables("BOM材料暫存明細").AddNew
                        radd("品號") = BOM("元件品號")
                        radd("數量") = BOM("單位用量") * dr("數量")
                        radd("主件路徑") = dr("主件路徑")
                    End If
                Next
            Next
            DataTables("BOM用量計算暫存一").DataRows.Clear
        End If
    End If
Next
[此贴子已经被作者于2020/7/1 9:44:12编辑过]

 回到顶部