T3_3_梱包物量.vb 詳細説明書

目次

  1. 概要
  2. プログラム構造
  3. 主要機能
  4. メソッド詳細
  5. データフロー
  6. データベース処理
  7. 計算ロジック
  8. Excel連携

1. 概要

このプログラムは、出荷梱包物量を計算・管理するためのVisual Basicフォームアプリケーションです。EPPlusライブラリを使用してExcelファイルとの連携を行い、出荷データを基に様々な梱包形態(ケース出荷、コンテナ出荷、段ボール梱包)の容積と数量を計算します。

ファイル名: T3_3_梱包物量.vb
クラス名: T3_3出荷梱包物量From
主要ライブラリ: OfficeOpenXml (EPPlus)

2. プログラム構造

2.1 使用ライブラリ

2.2 主要コンポーネント

コンポーネント 説明
フォーム T3_3出荷梱包物量From
DataGridView 複数のグリッド表示コントロール
データベース Access Database (テーブル: T200, TC10, TC20, TC30等)
Excel 出荷スペース計算.xlsx, 出荷コンテナ仕様.xlsx

3. 主要機能

3.1 出荷梱包計算機能

3.2 データ表示機能

3.3 Excel連携機能

4. メソッド詳細

4.1 初期化・イベントハンドラ

メソッド名 説明 処理内容
スペース計画2A出荷梱包物量_Load フォームロード時 ・ファイル確認
・著作権、有効期間表示
・指定出荷日設定
・各種データ表示の初期化
・コンテナ仕様、段ボールサイズ読み込み
出荷梱包物量計算Bt_Click_1 計算ボタンクリック時 ・指定出荷日での再計算
・TC10~TC30処理実行
・データグリッド更新
Excel保存して閉じるBt_Click Excel保存・閉じる時 計算結果をExcelファイルに保存してフォーム終了

4.2 主要計算メソッド

メソッド名 入力 処理内容 出力
TC10_ケース単位出荷容積 指定出荷日 ・T200テーブルからケース出荷データ抽出
・出荷先ごとに集計
・容積合計算出
TC10_ケース単位出荷容積テーブル
DataGridView表示
TC20_バラ単位出荷コンテナ容積 指定出荷日
コンテナ型式
充填率
・バラ出荷データ抽出
・コンテナ仕様と照合
・必要コンテナ数計算
・コンテナ容積算出
TC20_バラ単位出荷コンテナ容積テーブル
DataGridView表示
TC30_バラ単位全段ボール梱包数 指定出荷日 ・バラ出荷容積を段ボールに割り付け
・段ボールサイズ別に数量計算
・充填率考慮した最適サイズ選定
・複数段ボール対応
TC30_バラ単位全段ボール梱包数テーブル
DataGridView表示
複数個段ボール計算 容積(DD)
行番号(i)
・200サイズ段ボール個数算出
・余剰容積を適切サイズに割り付け
DataGridView更新

4.3 データ表示メソッド

メソッド名 処理内容
出荷データ容積換算Dgv表示 ・ケース出荷とバラ出荷の集計表示
・梱包数量と容積の表示
・3列×5行のグリッド構成
出荷梱包計後の容積Dgv表示 ・梱包後の最終容積表示
・コンテナ数、面積計算
・段ボール数集計表示
バラ出荷単位_段数ボール集計 ・段ボールサイズ別の集計
・横計、容積計算表示
・サイズ別容積計算(ゆうパケット~200サイズ)
出荷梱包計後の出荷コンテナ計算 ・コンテナ型式別の集計
・コンテナ外容積計算
・出荷データの区分による処理分岐

4.4 Excel処理メソッド

メソッド名 処理内容
出荷コンテナ仕様Dgv表示 ・"出荷スペース計算.xlsx"から"出荷コンテナ仕様"シート読み込み
・31型、40型、51型、60型の仕様表示
段ボールサイズ表Dgv表示 ・"出荷スペース計算.xlsx"から"段ボール仕様"シート読み込み
・ゆうパケット~200サイズの仕様表示
TC00_出荷コンテナ仕様インポート ・"出荷コンテナ仕様.xlsx"をAccessデータベースにインポート
・TC00テーブル作成
Exsel作成 ・DataGridViewデータをExcelファイルに出力
・EPPlusライブラリ使用
Excelインポート ・ExcelファイルをAccessデータベースにインポート
・Access.Applicationオブジェクト使用

5. データフロー

5.1 処理フロー図

メイン処理フロー:
  1. フォームロード → 初期データ読み込み
  2. 指定出荷日設定
  3. TC10: ケース単位出荷容積計算
  4. TC20: バラ単位コンテナ容積計算
  5. TC30: 段ボール梱包数計算
  6. 容積計算と集計
  7. DataGridView表示更新
  8. Excel保存(オプション)

5.2 データソース

データソース 形式 用途
T200テーブル Access Database 出荷データ(ケース・バラ出荷情報)
T210_指定出荷日 Access Database 出荷日情報
TC00_出荷コンテナ仕様 Access Database コンテナ仕様マスタ
出荷スペース計算.xlsx Excel 段ボール・コンテナ仕様

6. データベース処理

6.1 使用テーブル

テーブル名 説明 主要フィールド
T200 出荷基本データ 出荷日, 出荷区分, 出荷先, C行, C容, B行, B容, G行, G容
T210_指定出荷日 指定出荷日 出荷日, 全出荷日数
TC00_出荷コンテナ仕様 コンテナ仕様 型式, 外寸W/D/H, 外寸容積/面積, 内寸W/D/H, 内寸容積
TC10_ケース単位出荷容積 ケース出荷集計 出荷日, 出荷区分, 出荷先数, Cケ, C容
TC20_バラ単位出荷コンテナ容積 コンテナ出荷集計 出荷日, 出荷区分, 型式, コンテナ数, 出荷コンテナ容積
TC30_バラ単位全段ボール梱包数 段ボール梱包集計 出荷日, 出荷区分, Bケ, B容, 段ボール充填率, ゆうパケット~200サイズ
TC40_バラ単位全出荷段ボール容積 段ボール容積中間 TC30作成時に使用される中間テーブル
TB10系テーブル 集計テーブル群 ケース/バラ/全量の出荷日出荷区分別集計

6.2 SQL処理

主要なSQL処理パターン:

7. 計算ロジック

7.1 段ボールサイズ割り付けロジック

段ボール充填率: 0.9 (90%)
計算式: DD = B容 ÷ 段ボール充填率
段ボールサイズ 容積(m³) 割り付け条件
ゆうパケット 0.0018 DD ≤ 0.0018
60サイズ 0.008 0.0018 < DD ≤ 0.008
80サイズ 0.0189 0.008 < DD ≤ 0.0189
100サイズ 0.037 0.0189 < DD ≤ 0.037
120サイズ 0.064 0.037 < DD ≤ 0.064
140サイズ 0.1016 0.064 < DD ≤ 0.1016
160サイズ 0.1517 0.1016 < DD ≤ 0.1517
180サイズ 0.216 0.1517 < DD ≤ 0.216
200サイズ 0.2963 DD > 0.216 (複数個計算)

7.2 コンテナ計算ロジック

コンテナ数計算式:
コンテナ数 = Int(B容 ÷ (コンテナ内寸容積 × コンテナ充填率) + 0.5)

コンテナ容積計算式:
出荷コンテナ容積 = コンテナ数 × コンテナ外寸容積
コンテナ型式 外寸容積(m³) 備考
31型 0.043 小型コンテナ
40型 0.049 中型コンテナ
51型 0.063 大型コンテナ
60型 0.077 特大コンテナ

7.3 複数個段ボール計算

200サイズ超過時の処理:
  1. AA = Int(DD ÷ 0.2963) → 200サイズ段ボール個数
  2. BB = DD - AA × 0.2963 → 余剰容積
  3. 余剰容積BBに対して適切な段ボールサイズを割り付け

8. Excel連携

8.1 読み込みファイル

ファイル名 シート名 用途
出荷スペース計算.xlsx 段ボール仕様 段ボールサイズマスタ(9種類)
出荷スペース計算.xlsx 出荷コンテナ仕様 コンテナ型式マスタ(4種類)
出荷コンテナ仕様.xlsx 出荷コンテナ仕様 データベースインポート用

8.2 出力ファイル

ファイル名 シート名 内容
スペース計算.xlsx 出荷梱包物量 ・出荷梱包数量/容積
・全出荷日数、指定出荷日
・出荷梱包方法
・コンテナ型式、充填率、数量、容積
・段ボール充填率、数量
TC30_バラ単位全段ボール梱包数.xlsx Sheet1 段ボール梱包数の中間データ

8.3 EPPlus使用例

' Excel読み込み
Dim fi As New IO.FileInfo(Dat保存Path & "\SoftData\出荷スペース計算.xlsx")
Using pkg As New ExcelPackage(fi)
	Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets("段ボール仕様")
	For j = 1 To 10
		For i = 2 To 10
			MyDgv.Item(j - 1, i - 2).Value = sheet1.Cells(i, j).Value
		Next
	Next
End Using

' Excel書き込み
Dim MYFile As String = Dat保存Path & "\SoftData\" & myExcel & ".xlsx"
Dim fi As IO.FileInfo = New IO.FileInfo(MYFile)
Using pkg As New ExcelPackage(fi)
	Dim sheet1 As ExcelWorksheet = pkg.Workbook.Worksheets.Add("Sheet1")
	For j = 0 To Maxj
		For i = 0 To Maxi
			sheet1.Cells(i + 2, j + 1).Value = MyDgv.Item(j, i).Value
		Next
	Next
	pkg.Save()
End Using

9. 補足情報

9.1 出荷区分

9.2 画面項目

9.3 注意事項

10. まとめ

このプログラムは、複雑な出荷梱包計算を自動化するための包括的なソリューションです。以下の特徴があります:

対象ユーザー: 物流・出荷管理担当者
想定用途: 日次出荷計画、梱包資材管理、スペース最適化