Microsoft Access 掲示板

在庫管理で期毎集計の考え方について

5 コメント
views
4 フォロー

御世話になっております。
ご指導をいただきながら月次集計までたどりつかせていただきました。
期末集計もいろいろとネットサーフィンしてますがよくわかりません。hatenaさんのHPもみましたが 期末・年度 に関係しそうなヒントも見当たらなかったのでコチラに投稿させていただきました。
 図々しいとは思いますが 考え方 や ヒント をいただければ幸いです。

igaguri
作成: 2019/05/24 (金) 20:31:23
通報 ...
1

期は、4/1~3/31 でしょうか。1/1~12/31でしょうか。

どのようなことがしたくて、どこまでやった、どこがわからないのでしょうか。

もう少し具体的かつ詳細に説明してもらえますか。

2
igaguri 2019/05/25 (土) 12:14:57 32a1e@d14a6

ありがとうございます。
テーブル C1_入出庫台帳 フィールド 入出庫ID、入出庫日、品名ID、入庫数量、出庫数量、入出庫備考、従業員ID
を元に C1_入出庫台帳期毎クエリ をつくりました。SQLが下記になります。

SELECT DISTINCTROW C1_入出庫台帳.入出庫日, C1_入出庫台帳.品名ID, Sum(C1_入出庫台帳.入庫数量) AS [入庫数量 の 合計], Sum(C1_入出庫台帳.出庫数量) AS [出庫数量 の 合計]
FROM C1_入出庫台帳
GROUP BY C1_入出庫台帳.入出庫日, C1_入出庫台帳.品名ID;

1、4/1~3/31の1期の中での製品ID毎の入庫数量、出庫数量の合計数をリスト形式で表示する。
2、期首在庫数量、期末在庫数量を表示する。
3、繰越処理をできるようにする。
4、年度選択によって選択年度の入庫数量、出庫数量の合計数の表示ができるようにしたいのですが

○1 クエリでの4/1から3/31の設定の仕方
○2 期末在庫数の記録の仕方
○3 期末在庫数の繰越処理の仕方
がわかりません。 自分にはハードルが高いことは承知しておりますが、なんとか作り上げたいと思っておりますのでご教授いただければと思います。よろしくお願いいたします。

他に テーブル B1_在庫品マスター フィールド 品名ID、品名、メーカー名 ・・・があります。

3
hatena 2019/05/25 (土) 13:25:27 修正

○1 クエリでの4/1から3/31の設定の仕方

下記のような演算フィールドを作成して、それでグループ化すればいいでしょう。

年度: Year(DateAdd("m",-3, [入出庫日])

これで、入出庫日 2019/4/1 ~ 2020/3/31 のレコードの年度は 2019 になります。

SQLなら、

SELECT 
 Year(DateAdd("m",-3, C1_入出庫台帳.入出庫日) As 年度,
 C1_入出庫台帳.品名ID,
 Sum(C1_入出庫台帳.入庫数量) AS [入庫数量 の 合計],
 Sum(C1_入出庫台帳.出庫数量) AS [出庫数量 の 合計]
FROM C1_入出庫台帳
GROUP BY
 Year(DateAdd("m",-3, C1_入出庫台帳.入出庫日),
 C1_入出庫台帳.品名ID;

○2 期末在庫数の記録の仕方

○3 期末在庫数の繰越処理の仕方

棚卸しはするのでょうか。
前回の質問の画像には
「入出庫備考」フィールドに「棚卸在庫数」というのがあったので、
期末(3月末日)に棚卸をするのかな。

もし、そうなら、
それがそのまま 期末在庫数 ということになりますね。
また、それが、次期の期首在庫数(繰越) ということですね。

[入出庫備考]を 棚卸在庫数 として、[入庫数量] に 棚卸結果を入力すればいいですね。
入出庫日 は期首の日付(4/1)にしておくと後々処理が楽です。

そうすれば、
帳簿上の在庫は、下記のSQLで取得できます。

SELECT
 [年度を入力] As 年度,
 C1_入出庫台帳.品名ID,
 Sum(C1_入出庫台帳.入庫数量) - Sum(C1_入出庫台帳.出庫数量) AS [期末在庫数]
FROM C1_入出庫台帳
WHERE
 C1_入出庫台帳.入出庫日 BetWeen DateSerial([年度を入力],4,1) AND DateSerial([年度を入力]+1,3,31)
GROUP BY
 C1_入出庫台帳.品名ID;

これと、棚卸在庫数 を比較すれば,実数と帳簿数の過不足数も取得できます。

4
igaguri 2019/05/25 (土) 20:52:52 32a1e@d14a6

ありがとうございます。表示できるようになりました。使いやすくなるように工夫してみたいと思います。

5
igaguri 2019/05/26 (日) 10:55:55 32a1e@d14a6

御世話になります。
1、メインメニュー に 年度繰越処理 というボタン を設置して 
  前年度期末在庫数 を 今年度の4/1に期首在庫数として C1_入出庫台帳に一括入力させた方がいいのでしょうか?
  ※ 前年度期末在庫数 があるモノはその数量、ないものは 0 というように・・・。
2,期毎の 入庫合計数量 と 出庫合計数量 のクエリと 期末在庫数量が表示されるクエリ を別に作成していますが
  一つにまとめた方が見やすいのでしょうか?
現在、前者のフォームをつくったのですが・・・。
画像1
フォーム詳細欄に非連結テキストボックス 表示年度 を作り メインフォームの 年度 を抽出していて
テキストボックス 表示年度 の更新後処理に
Private Sub 表示年度_AfterUpdate()

    Me.Filter = "年度 like'" & 表示年度 & "'"
    Me.FilterOn = True

End Sub
と 記述しています。