Microsoft Access 掲示板

異なるレコード間での集計・順番に計算する方法 / 6

9 コメント
views
4 フォロー
6

D1~ 日付に見立てたフィールドで~31まで用意し、別のフィールドで月、年を用意をしています。
ユーザとしては 入力フォームで
製品ごとに ある年月の 1日~31日 フィールドへ入力する形にしています。
入力したデータは 別のテーブルで日付に変換して 日付順に所要展開できるように考えています。

D1~ のテーブルは入力用の一時テーブルで、入力後、縦に展開する正規化されたデータに変換してテーブルに格納するということですね。

レコード間を順に集計していく処理(連番とか累計)はクエリは苦手です。複雑かつ重い処理になりがちです。特に今回の安形だとバージョンがあったりとより複雑になります。
VBAでレコード移動しながら処理していくのが高速かつシンプルにできます。

下記に、連番をクエリまたはVBAでする場合のサンプルがありますので、参考になると思います。

グループ毎連番を自動入力する関数 - hatena chips

通報 ...
  • 7

    お世話になります。 はい、
    D1~ のテーブルは入力用の一時テーブルで、入力後、縦に展開する正規化されたデータに変換してテーブルに格納するということですね。
    上記の通りになります。

    hatena様の 累計値をテーブルに自動入力する関数 を使用させていただき
    画像のような 所要量計算テーブルで所要量を計算し、累計残高としています。

    製品のマスタとしては、 カレー・肉じゃがに使う じゃがいもは 代替品でOKとした マスタテーブルを持ち、
    変更順をデータとして持たせるとします。

    このとき、消費計画のテーブルでは
    メークイン が0になったら 男爵イモ の在庫を使う ・・ のようにしたいと考えております。
    累計処理で計算すると、 まだ 男爵イモを使用しなくても良い 時でも 引いてしまうため
    この処理について良い案がないか というご相談になりました。

    イメージばかりですみません・・。

    画像1
    画像1