MS-Accessで累計を出す方法

このQ&Aのポイント
  • MS-Access2000を使用している場合、クエリーで累計を出す方法を教えてください。
  • 製品別在庫クエリーに累計列を追加して表示させたい場合、DSum関数を使用する方法がありますが、正しく書くことができずエラーが出てしまいます。具体的な書き方を教えてください。
  • 累計を表示させるためには、DSum関数の他にも方法があるのか教えていただけますか?
回答を見る
  • ベストアンサー

MS-Accessの累計の出し方

MS-Access2000を使用しています。クエリーで累計を出したいのですがうまくいきません、ご教授いただけますせんでしょうか。 以下のようなクエリーがあります。ソートの第一条件を"日付を昇順"、第二条件を"入出庫数を降順"としています。 製品別在庫クエリー (型番)/(日付)/(販売・仕入先)/(入出庫数) AAA/______________/在庫 /100 AAA/ 7月15日/仕入先A /200 AAA/ 7月15日/顧客B /-50 AAA/ 7月15日/顧客A /-100 AAA/ 7月21日/仕入先A / 150 AAA/ 7月21日/顧客C /-200 AAA/ 7月24日/仕入先A / 300 AAA/ 7月25日/顧客A /-50 AAA/ 7月25日/顧客C /-100 ここに以下のように"累計"を追加して以下のように表示させたいと思っています。 製品別在庫クエリー (型番)/(日付)/(販売・仕入先)/(入出庫数)/(累計) AAA/______________/在庫/100/100/ AAA/7月15日/仕入先A/200/300 AAA/7月15日/顧客B/ -50/250 AAA/7月15日/顧客A/ -100/150 AAA/7月21日/仕入先A/150/300 AAA/7月21日/顧客C/-200/100 AAA/7月24日/仕入先A/300/400 AAA/7月25日/顧客A/ -50/350 AAA/7月25日/顧客C/ -100/250 しかしDSum関数を使って以下のように書いてみましたがエラーになってしまいます。 累計:DSum("入出庫","製品別在庫クエリー","[日付]<=" & [日付] & "") MSのサポートページをみてもよくわかりません。具体的にどう書き直せばいいか教えていただけますでしょうか? またDSum関数にはこだわりません、クエリーに累計を表示できればOKです。宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

DSum の条件記述を "Nz([日付],#1900/01/01#) <=#" & Nz([日付],"1900/01/01") & "#" に変更すると、エラーは無くなると思いますが、求めたい結果は得られないと思います。 AAA/7月15日/仕入先A/200/300 AAA/7月15日/顧客B/ -50/250 AAA/7月15日/顧客A/ -100/150 上記同一日付のものは、前後関係を示せるものがありません。 ここにオートナンバーなり、レコードを一意に特定できるものが必要だと思います。 (必ず昇順になっているとかルールを持つもの) ID 1 /AAA/7月15日/仕入先A/200/300 2 /AAA/7月15日/顧客B/ -50/250 3 /AAA/7月15日/顧客A/ -100/150 DSum の条件に "[ID] <= " & [ID] ※ クエリ時にIDを振る方法は、分かりません。

その他の回答 (1)

  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.2

#1です。 ごめんなさい。 ご提示されたクエリを元にした時の話でした。 抽出時に使えるものがあれば、それでも良いと思います。 失礼しました。

関連するQ&A

  • Access 2000ひと月単位で一日ごとの累計を出したいのですが・・・。

    いろいろ探して、 累計: DSum("新規","日報","[日付]<=#" & [日付] & "#") という、式をクエリに貼り付けたのですが、これだと、月ごとの累計にならず、困っています。どなたか、お教えいただけないでしょうか ID   日付    年月   新規  累計 1  2008/10/20  2008/10   1   1 2  2008/10/25  2008/10   1   2 3  2008/11/05  2008/11   2   4 ⇒ 2 4  2008/11/10  2008/11   1   5 ⇒ 3 5  2008/11/15  2008/11   2   7 ⇒ 5 6  2008/11/20  2008/11   1   8 ⇒ 6 7  2008/11/25  2008/11   1   9 ⇒ 7 8  2008/11/30  2008/11   2   11 ⇒ 9 9  2008/12/05  2008/12   1   12 ⇒ 1 10  2008/12/10  2008/12   2   14 ⇒ 3 一度クエリで11月(2008/11)だけにしてからやればよいと思ったのですが、DSum関数がテーブルからしか作れないようで、うまくいきません。お願いします。

  • Access 2000 ひと月単位で一日ごとの累計を出したいのですが・・・。

    いろいろ探して、 累計: DSum("新規","日報","[日付]<=#" & [日付] & "#") という、式をクエリに貼り付けたのですが、これだと、月ごとの累計にならず、困っています。どなたか、お教えいただけないでしょうか ID   日付    年月   新規  累計 1  2008/10/20  2008/10   1   1 2  2008/10/25  2008/10   1   2 3  2008/11/05  2008/11   2   4 ⇒ 2 4  2008/11/10  2008/11   1   5 ⇒ 3 5  2008/11/15  2008/11   2   7 ⇒ 5 6  2008/11/20  2008/11   1   8 ⇒ 6 7  2008/11/25  2008/11   1   9 ⇒ 7 8  2008/11/30  2008/11   2   11 ⇒ 9 9  2008/12/05  2008/12   1   12 ⇒ 1 10  2008/12/10  2008/12   2   14 ⇒ 3 とにかく、その「日付」の月の初めから、その「日付」の日までの累計が、その「日付」の累計の列に入ればよいのですが、よろしくお願い致します。

  • Accessで累計計算する方法を教えてください。

    現在Access2000で、在庫管理をしています。 添付ファイルのように(1)~(3)のようなテーブルがあります。商品を発注するにあたり(3)現在庫の確認と(2)発注済み分の確認、(1)受注内容の確認などと効率の悪い状況です。 そこで各商品ごとに入出庫をみることができるレポートを出力できるようにしたいと思います。例えば、商品Bであれば(4)のようなレポートを出力したいと思います。 (1)と(2)のテーブルのフィールドをユニオンクエリーで結合させるところまでは何とかできたのですが、肝心な"在庫累計"をうまく計算できません。添付ファイルの(A)と(B) 色々調べると、Dsum関数があるようなのですで、このユニオンクエリーをもとに選択クエリーをつくりこの関数を使ってみたのですが(4)のレポートのようにはいきません。"期日"を条件にしたのですが同じ日だとすべて合計されてしまします。また、出力するレコードの順番は日付で昇順、同じ日付のレコードは入庫(プラスのレコード)を上位に、続いて出庫(マイナスのレコード)の順番にしたいです。 (4)のようなレポートが作成できれば方法は問わないです... なにかいい方法をアドバイスをいただけますでしょうか。 宜しくお願いいたします。

  • Access2007 クエリ 累計求め方

    以下の並びの選択クエリがあります。 [営業担当] [担当企業] [受注フラグ] [月] [累計] 月は昇順で増えていきます。 受注フラグは全て「1」と表示されています。 受注フラグを合計して、月次の累計推移を出したいと考えています。 【累計】のフィールドにDsum(式)を活用する所までは分かりましたが、 (式)内にどの様な式を指定すればよいか分かりません。 どなたかご教授頂ければ幸いです。

  • MS ACCESSのDSUM関数の設定について

    お世話になっております。 以下の点についてアドバイスをお願いします。 ・「製品テーブル」、「売上テーブル」と「生産テーブル」を作って、在庫の累計計算をしたいと 考えております。 ・作成したテーブルに基づき、添付画像にあるクエリを作成しました。 ・このクエリで以下の数式を入力して在庫の累計計算をしようとしたのですが、エラーがでて、計算式の入力を 完了できません。数式をどのように変更すればよいかアドバイスをお願いします。 DSum(“[生産数]-[売上数]”,”B”,”製品コード=”&[製品コード]&”AND年月<='"&[年月]&"'") よろしくお願いします。

  • Accessクエリで分類ごとの累計を計算する方法

    テーブルのデータをクエリに読み込んで、大分類ID-小分類IDの組合せを元にして、 月々の累計を計算したいのですが、算出式がどうしてもわかりません。 DSUMを使えばいいかなと思い、クエリのフィールドに、 累計:DSUM("金額","tbl_sample",    ) のような感じでやってみたのですが、条件式をどういれてよいかわかりません。 もし分かる方がいらっしゃればお知恵をお貸しください。よろしくお願いします。 イメージ的には以下のような感じで、★箇所のような累計結果を算出したいです。 ------------------------------------------------------------ 元のテーブルファイル名:tbl_sample 月 大分類ID 小分類ID 金額 ★累計 4___1___1___\100_\100 4___1___2___\200_\200 4___2___1___\300_\300 4___2___2___\400_\400 5___1___1___\150_\250 5___1___2___\250_\450 5___2___1___\350_\650 5___2___2___\450_\850 --------------------------------------------------------------

  • ACCESSのテーブル結合に関して

    初歩的な事で申し訳ありませんが、教えて下さい。 以下のように3つのテーブルが存在し、検索条件をBテーブルの仕入先コードが"AAA"と 指定した際に、 発注番号、発注日付、仕入先コード、仕入先名 という形でOUTPUTしようと考えています。 その場合、クエリではどのように結合すれば良いでしょうか。。。 Aテーブルの発注番号とBテーブルの発注番号、Bテーブルの仕入先コードとCテーブルの 仕入先名という結合の形では、条件の"AAA"が1件しかないにもかかわらず、複数件出力されて しまうかと思われます。 《テーブル内容》 Aテーブル 発注番号 発注日付 Bテーブル 発注番号 仕入先コード Cテーブル 仕入先コード 仕入先名 ※ Bテーブル、Cテーブルの仕入先コード"AAA"は、それぞれ1件ずつしかない。 教えて頂きたいと思います。

  • Access クエリでの 累計の仕方

    テーブル名「元帳」のフィールド名「借方金額」の累計を、「科目コード」と「月度」が同じもので累計する処理を行っています。以下の書き方で、全ての累計は出力出来ました。 (1) DSum("借方金額","元帳","科目コード & 月度 <= " & [科目コード] & [月度]) そして、科目コードが変化する毎にそれぞれの累計を行いたいと思い、以下の式を作成しました。 (2) DSum("借方金額","元帳","科目コード Like '*" & [科目コード] & "*'") そして、これら2つの式の要素を合わせ持った式を作成しようとAndで繋いでみたのですが、 (3) DSum("借方金額","元帳","科目コード Like '*" & [科目コード] & "*'" And "科目コード & 月度 <= " & [科目コード] & [月度]) これでは数字が出ず、どうしても出来ません。 (1)と(2)の条件を合わせ持った式の作り方をご存知の方がいらっしゃいましたら、ご教示をお願い致します。

  • MS アクセス クエリ作成 名称抽出方法

    アクセスのクエリの作成がわかりません(アクセスのバージョンは2003です) アクセスの初心者です。Webをみたり参考書を見たりしているのですが、、、クエリの作成方法が分からず困っております。どなた操作方法を教えていただけますか。お願いいたします。 抽出したいのは以下の1, 商品明細テーブルから「商品名」全件に対して「商品コード」の頭4桁をキーにして、仕入先テーブルのコードから「名称」を取得する方法です。 当方の作成したクエリは下記の通り操作しましたが、結果はすべて"該当なし"になってしまいます。 ・クエリ作成画面で両テーブルを結合。 ・フィールド欄に以下の式を入力しました 仕入先名称:iif(strcomp(Left([商品明細テーブル].[商品コード],4),[仕入先テーブル].[コード],0)=0,[仕入先テーブル].[ 名称],"該当なし") 1, 商品明細テーブル 商品名 価格 商品コード --------------------------- 商品A \110 AAA01115000 商品B \115 AAA19376122 商品C \112 AAA09472391 商品D \115 AAA22947555 商品E \120 AAA09422138 商品F \165 AAA13871911 商品G \150 AAA09272611 商品H \210 AAA27319313 2, 仕入先テーブル コード 名称 AAA0 XXXX商事 AAA1 YYYY産業 AAA2 (株)ZZZZ 恐れ入りますが、ご回答の程宜しくお願いいたします。

  • Accessで移動累計

    Accessで移動累計する方法を教えてください。 ↓のようなテーブルで、以下のような内容が ずっと続いてるときに 顧客コード 年 月 売上   1     99 1 100   1     99 2 50   1     99 3 80   1     00 2 200   2     99 1 50   2     00 2 150   ・     ・ ・ ・   ・     ・ ・ ・   ・     ・ ・ ・ 顧客年月別に、移動累計を作成したいのですが データ量が多いので、Excelでは大変なんです。 実現方法ごぞんじの方いらっしゃいましたら ご教授下さいませ。

専門家に質問してみよう