Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトル「前日の在庫数+入庫計−出庫計=在庫」の出し方
記事No172372
投稿日: 2018/08/01(Wed) 00:50
投稿者バジル
OS:windows10
Access Version:2007

在庫管理データベースを作っているのですが、
「前日の在庫数+入庫計−出庫計=在庫」をするにはどうすればよいでしょうか。
いろいろと調べてやっているのですが、うまく動きません。
ご指導のほど、よろしくお願いします。

【MT_種別】
種別ID
種別名

【MT_仕入元台帳】
仕入元ID
仕入元名

【T_入出庫管理】
入出庫ID
日付
種別ID
仕入元ID
入庫数
出庫数

【Q_倉庫入出庫クエリ】…【T_入出庫管理】からクエリを組みました
日付
種別
仕入元
入庫計---入庫計: Nz(Sum([入庫数]),0)
出庫計---出庫計: Nz(Sum([出庫数]),0)
在庫-----在庫: [入庫計]-[出庫計]

ここまではなんとかできました。
ここから、SQLを使って、在庫を「前日の在庫数+入庫計−出庫計=在庫」の形で出したいと
思うのですが、うまくいきません


SELECT Q1.日付,MT_種別.種別ID,MT_仕入元台帳.仕入元ID,Q1.入庫計, Q1.出庫計, Q1.在庫
FROM (SELECT 日付, 出庫先ID,出庫先ID
, Sum(Nz(入庫数)) AS 入庫計
, Sum(Nz(出庫数)) AS 出庫計
, Sum( Select Sum(Nz(入庫数)) -Sum(Nz(出庫数))
From T_入出庫管理 As T2
Where T2.種別ID = T1.種別ID And T2.日付 <= T1.日付
Group By 種別ID ) AS 在庫
FROM T_入出庫管理 AS T1
GROUP BY 日付, 種別ID) AS Q1
LEFT JOIN MT_種別 ON Q1.種別ID = MT_種別.種別ID
;


探し当てたものは条件が一つだったのですが、私は「種別」と「仕入元」が同じものについて
在庫を出したいのです。
上記SQLでは不十分のようなので、ご指導願います。
以上です。よろしくお願いします。

タイトルRe: 「前日の在庫数+入庫計−出庫計=在庫」の出し方
記事No172373
投稿日: 2018/08/01(Wed) 23:27
投稿者mayu
> 私は「種別」と「仕入元」が同じものについて在庫を出したいのです。

以下のような SQL を記述すればよろしいでしょう。


SELECT x.日付
     , x.種別
     , x.仕入元
     , x.在庫
     , Sum( y.在庫 ) As 累計
FROM Q_倉庫入出庫クエリ x
   , Q_倉庫入出庫クエリ y
WHERE x.種別    = y.種別
  AND x.仕入元  = y.仕入元
  AND x.日付   >= y.日付
GROUP BY x.日付
       , x.種別
       , x.仕入元
       , x.在庫
ORDER BY x.種別
       , x.仕入元
       , x.日付 ;

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る