- 締切済み
前のレコードから追加のレコードに自動で写したい
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- NotFound404
- ベストアンサー率70% (288/408)
たとえばですが、 テーブル名:tbl 日付:日付時刻型 商品名:テキスト型 出庫数:長整数型 入庫数:長整数型 で、 日付 商品名 出庫数 入庫数 2011/10/01 a 20 100 2011/10/02 a 10 1 2011/10/03 a 10 2011/10/04 a 20 2011/10/01 b 50 2011/10/02 b 10 2011/10/03 b 10 2011/10/04 b 30 2011/10/02 a 19 クエリをSQLビューに切り替えて下記をコピペすると (クエリをデザインビューで開いて右クリックするとコンテキストメニューにあります) SELECT tbl.日付, tbl.商品名, tbl.出庫数, tbl.入庫数, CLng(Nz(DSum("出庫数","tbl","日付 <=# " & [日付] & "# AND 商品名 ='" & [商品名] & "'"),0)) AS 出庫累計, CLng(Nz(DSum("入庫数","tbl","日付 <=# " & [日付] & "# AND 商品名 ='" & [商品名] & "'"),0)) AS 入庫累計, 入庫累計-出庫累計 AS 在庫 FROM tbl ORDER BY tbl.商品名, tbl.日付; で、 このようになります。(レイアウトが崩れてしまうのはご容赦を) (メモ帳にでも張り付けてフォントをP付ではないMSゴシックなどだと見やすいです) 日付 商品名 出庫数 入庫数 出庫累計 入庫累計 在庫 2011/10/01 a 20 100 20 100 80 2011/10/02 a 19 30 120 90 2011/10/02 a 10 1 30 120 90 2011/10/03 a 10 40 120 80 2011/10/04 a 20 40 140 100 2011/10/01 b 50 0 50 50 2011/10/02 b 10 10 50 40 2011/10/03 b 10 20 50 30 2011/10/04 b 30 20 80 60 ではダメかいな? デザインビューに切り替えて確認もできます。 商品(コピー用紙)ごとの在庫なら SELECT Max(tbl.日付) AS 日付の最大, tbl.商品名, SUM(tbl.出庫数) AS 出庫数の合計, SUM(tbl.入庫数) AS 入庫数の合計, 入庫数の合計-出庫数の合計 AS 在庫 FROM tbl GROUP BY tbl.商品名; で、 日付の最大 商品名 出庫数の合計 入庫数の合計 在庫 2011/10/04 a 40 140 100 2011/10/04 b 20 80 60 になります。 何となくですがExcel的な考え方でやっているような雰囲気がします。
お礼
回答、ありがとうございます。 一度やってみます。 もう一つ教えていただけるのなら、 前日の更新在庫を、自動的に当日の前在庫にでている ようになっている状況が理想なのですが、お教えいただけないでしょうか?