(おわび:回答で、クロス集計クエリとすべきところを集計クエリとしていました。わかりにくかったと思います。無事に進んでいるようで何よりです)
大元になる明細ができたら月ごとの集計を作ります。
入出庫日を各月になるように変換する必要がありますが、クエリでは「入出庫区分」を作ったように、計算結果をデータとするフィールドを出力することができます。
Q入出庫明細のクロス集計クエリを元に新しくクエリを作り製品ID,出庫,入庫フィールドと、「年月: format([入出庫日],"yyyymm")」フィールドを作成します。
このクエリ(選択クエリ)で集計機能を使い、製品IDと年月でグループ化、出庫と入庫を合計すれば各製品IDの月ごとの出庫と入庫が出来上がります。
SELECT 製品ID, Sum(出庫) AS 出庫の合計, Sum(入庫) AS 入庫の合計, Format([入出庫日],"yyyymm") AS 年月
FROM Q入出庫明細のクロス集計クエリ
GROUP BY 製品ID, Format([入出庫日],"yyyymm");
後は、このクエリを基にレポートを作成すれば、>> 2の通り製品IDごとに各月の在庫まで表示できるでしょう。
指定した月まで
レポートに表示できれば
どのような方法を考えているのか、レポートをどの程度扱えるのかわからないので今回もここまで
Format([入出庫日],"yyyymm")
の解説
今回、月ごとの集計を出したということで、日付データから月データを作ります。
日付から月を取り出す関数としてはmonth([日付])
がありますが、データベースが運用されれば年も跨ぐでしょう。2019年の11月の数字と2020年のそれが合算されたらまずいでしょうから、「年」の情報も含んだ「年月」フィールドにします。
format関数そのものについては調べてみてください。
今回は、例えば「2019/12/01」という日付のデータを「201912」のように変換する使い方になっています。
余談
いまさらですが、テーブル構造が先に出ていたのでユニオンクエリを使って~と進めましたが、入出庫ぐらいなら最初から一つのテーブルでいいんじゃないかと思います。
(最初から入出庫区分を付けたテーブルで管理し、必要に応じて入出庫区分='出庫'等のクエリを発行する)
そのほかのテーブルについても入庫・出庫で分かれていますが、内容は同じものになるのでしょう。
これらについてはむしろ、入庫であるか、出庫であるかという区分も必要ないように見えるのでデータを分けてしまうのは良くないでしょう。