■マスタから生産計画表を作成し計画算定を行う手助けをする。
・品目マスタ、構成マスタから指定された構成情報を抽出する。
・抽出した情報に基づいて計画表を作成する、
・計画表は「生計」:生産計画、「引計」;引落計画、「在庫」:在庫計画がらなる。
・計画表上で「生計」欄に数量入力すると、マスタ情報に基づいて、1階層単位で日程オフセット、数量計算を行い「引計」を作成する。
・員数、LT、OLT、残(生計、引計、在庫)は計画表に入力可能
>マスタの持ち方
ExcelやAccessに部品表と構成表を持つ
<部品表> <構成表>
<部品構成表>
※このマスターを使って展開します。
<メニュー>
>DB設定
説明省略
>展開
展開処理した結果です。
>計画表作成
・日程表の開始日、終了日を指定して「計画表作成」ボタンを押すと日程表を作成します。
・「生計」:そのアイテムの生産計画
・「引計」:そのアイテムの引落計画(出荷計画、親アイテムの使用料)
・「在庫」:そのアイテムの在庫推移
- 在庫計算 : 当日「在庫」= 前日「在庫」+ 当日「生計」-- 当日「引計」
- 土日は日付けを赤く表示(日程オフセット時に休日の考慮はしません。)
>計画表の動き
- Aの「生計」を入力すると1階層下のA1、A2の「引計」を自動作成をする。
>Aの製造リードタイムをオフセットし子部品の「引計」を作成
>A2は員数2なので、2倍の「引計」を作成
>在庫計算 : 当日「在庫」= 前日「在庫」+ 当日「生計」-- 当日「引計」
- リードタイムオフセット
>日程オフセット=親のリードタイム+ 構成オフセットリードタイム
- ロットサイズ
>入力された「生計」をロットサイズまとめを行う。
<展開処理のコード>
―――――――――――――――――――――――――――――――――――――――――
Global GL_ROW As Integer
Global GL_NO As Integer
Global GL_Csta As Integer
Global GL_Cend As Integer
'******************************
' 構成展開
'******************************
Function 構成展開(HinmokuCd, TKBN, CNT, SU)
Worksheets("構成情報").Activate
GL_NO = 0
'シートのセル全範囲をクリア
If CNT = 3 Then
'シートのセル全範囲をクリア
ActiveSheet.Cells.Clear
'ヘッダーセット
ActiveSheet.Cells(1, 1).Value = "グループ"
ActiveSheet.Cells(1, 2).Value = "NO"
ActiveSheet.Cells(1, 3).Value = "レベル"
ActiveSheet.Cells(1, 4).Value = "部品コード"
ActiveSheet.Cells(1, 5).Value = "部品名"
ActiveSheet.Cells(1, 6).Value = "子部品コード"
ActiveSheet.Cells(1, 7).Value = "子部品名"
ActiveSheet.Cells(1, 8).Value = "使用数"
ActiveSheet.Cells(1, 9).Value = "LT"
ActiveSheet.Cells(1, 10).Value = "OLT"
ActiveSheet.Cells(1, 11).Value = "LOT"
ActiveSheet.Cells(1, 12).Value = "単位"
ActiveSheet.Cells(1, 13).Value = "数量"
'出力行設定
GL_ROW = 2
Else
GL_ROW = GL_ROW + 2
End If
'指定データセット
ActiveSheet.Cells(GL_ROW, 1).Value = CNT - 2
ActiveSheet.Cells(GL_ROW, 2).Value = GL_NO
ActiveSheet.Cells(GL_ROW, 3).Value = "'1"
ActiveSheet.Cells(GL_ROW, 4).Value = HinmokuCd
ActiveSheet.Cells(GL_ROW, 6).Value = HinmokuCd
ActiveSheet.Cells(GL_ROW, 13).Value = Val(SU)
構成展開サブ HinmokuCd, "1", TKBN, CNT - 2, SU
GoTo Exit_構成展開
Err_構成展開:
MsgBox Error$ & Chr$(10) & Chr$(13) & " 親品番 マスター等を確認して下さい。"
Exit_構成展開:
End Function
※構成がなくなるまで、この「構成展開サブ」を自分自身で呼び出す。
Sub / />
If TKBN = 1 Then
構成展開サブ rs![子部品コード], Lev & "-" & Lev2, TKBN, CNT, W_SU
Else
構成展開サブ rs![部品コード], Lev & "-" & Lev2, TKBN, CNT, W_SU
End If
rs.MoveNext
DoEvents
Loop
GoTo Exit_構成展開サブ
Err_構成展開サブ:
MsgBox Error$ & Chr$(10) & Chr$(13) & "子品番マスター等を確認して下さい。"
'MsgBox Err.Description
Exit_構成展開サブ:
On Error Resume Next
rs.Close
Set rs = Nothing
'Connectionの状態を確認し、クローズ
If cn.State <> ADODB.adStateClosed Then
cn.Close
End If
Set cn = Nothing
End Sub
■ダウンロードは こちらのページ をご覧ください。
ソースコードを確認しようとしたところパスワードを要求されました。
今後パスワードを開示する予定はありますか?