• ベストアンサー

アクセスでの総合計

アクセス2003で作業しているのですが、 わからないことがありますので教えてください。 フィールド名: 種類 金額1 金額2          A  120   500          B  300   400          C  250   450          A  300   750 というようなテーブルがあり、 種類は1列しかないのですが、金額が全部で5列あります。 この中から、Aの総合計・Bの総合計・Cの総合計とやりたいと 思っているんですが、どうすればできますでしょうか? できれば、SQLでやりたいと思っております。

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

  • ベストアンサー
noname#79209
noname#79209
回答No.4

SQLでとおっしゃっていますが、とりあえずクエリを作ってその結果がOKなら、そのクエリをSQL表示させればSQL文が分かるでしょう。 クエリは、「表示」から「集計」を表示させ、「種類」で「グループ化」、他の金額欄は「合計」を指定すれば出来ます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

単純に SELECT 種類, Sum(Nz([金額1],0) + ・・・・ + Nz([金額5],0)) AS 総合計 FROM テーブル名 GROUP BY 種類; でよろしいのでは? テーブル設計に少々問題ありではありますが。

全文を見る
すると、全ての回答が全文表示されます。
noname#22222
noname#22222
回答No.2

>SQLでやりたい ・・・ウーン!具体的には??? ID  種類  金額1  金額2 1   A   \100   \10 2   B   \200   \20 3   C   \100   \30 4   A   \300   \40 種類  合計1  合計2 A    \400  \50 B    \200  \20 C    \100  \30 SELECT 種類, Sum(金額1) AS 合計1, Sum(金額2) AS 合計2 FROM テーブル1 GROUP BY 種類; ? DBLookup("SELECT 種類, Sum(金額1) AS 合計1, Sum(金額2) AS 合計2 FROM テーブル1 GROUP BY 種類;") A;400;50;B;200;20;C;100;30; と, DBLookup関数でSQL文で種類と合計を求めることも可能! SPLIT関数で配列に取り込めば、それぞれに参照することも可。 Public Function DBLookup(ByVal strQuerySQL As String) As String On Error GoTo Err_DBLookup   Dim I   As Integer   Dim N   As Integer   Dim Datas As String   Dim dbs  As DAO.Database   Dim rst  As DAO.Recordset      Set dbs = CurrentDb   Set rst = dbs.OpenRecordset(strQuerySQL)   With rst     Do Until .EOF       N = .Fields.Count - 1       For I = 0 To N         Datas = Datas & .Fields(I) & ";"       Next I       .MoveNext     Loop   End With Exit_DBLookup: On Error Resume Next   rst.Close   dbs.Close   DBLookup = Datas   Exit Function Err_DBLookup:   MsgBox Err.Description   Resume Exit_DBLookup End Function

全文を見る
すると、全ての回答が全文表示されます。
  • miwaharu
  • ベストアンサー率25% (29/112)
回答No.1

こんにちは、できないことはないですが、 横方向に集計すると、あとあと面倒です A 120 A 750 B 120 B 750 として縦に集計すると、集計する金額の個数が増えても まったく同じクエリーで集計できます。 SQLだとこんな感じです SELECT テーブル1.id, Sum(テーブル1.金額) AS 金額の合計 FROM テーブル1 GROUP BY テーブル1.id;

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • アクセスでのフィールド2列からの抽出と合計

    OS:Win XP Access Version:2003 すみません。どうしてもわからなかったので教えてください。 フィールド名  種 類   部 門  金 額          A     111   8000          B     120   7500          C     450   1000          A     750   3000          C     111   4500          B     120   6000 こんな感じのテーブルがあり、例えば種類Bの部門120の金額の合計を出したいとき、 どんな感じにクエリを作ればいいんでしょうか? SQLでもかまいません。

  • アクセスで抽出+合計

    アクセス2003を使用しているんですが、 どうしてもわからないので教えてください。 アクセスのテーブルで 会社名1 会社名2   金額1   金額2       A社    B社    5000    4000 B社    C社    2500    1000 C社    D社    7000    4500 とこんな感じにデータがあります。 会社名・金額はそれぞれ5つ設けてあります。 わけがあり、別々に列を設けるしかありません。 このテーブルから、たとえばB社の金額の合計を 出してきたいのですが。 この表ですと、B社 6500  と表示させたいのです。 B社だけではなく、全会社いっせいにあらわしたいのです。 可能なのでしょうか? SQLでもかまいません。 お願いいたします。

  • アクセスSQL

    アクセス初心者です。 テーブルAに(売上日、商品A売上金額、商品B売上金額、支店)フィールドがあります。 売上日フィールドは重複あります。 次のクエリを定義するSQLはどのように記載すればいいでしょうか? 第一フィールド フィールド名:売上日リスト 内容:テーブルAの売上日を重複無しで全種類抜き出し日付順ソート。 第二フィールド フィールド名:商品Aラスト売上金額 内容:第一フィールドの売上日グループで、最後の商品A売上金額 第三フィールド フィールド名:商品Bラスト売上金額 内容:第一フィールドの売上日グループで、最後の商品B売上金額 以上よろしくお願い致します。

  • アクセスのクエリで出来る事なのでしょうか?

    以下の様な処理がクエリで出来るものかの判断がつかず、また、出来るとしてもクエリの作り方が判りません。。。 [テーブルA] コード 品名  種類 1111  A    0 1111  A    1 1111  A    2 1111  A    3 2222  B    0 2222  B    1 2222  B    2 2222  B    3 2222  B    4 3333  C    0 3333  C    1 3333  C    2 3333  C    3 3333  C    4 3333  C    5 3333  C    6 以上の様なフィールド構成を持つテーブルです。 「コード」で管理される「品名」の持つ「種類」の列の最大値を、新しく追加した「在庫」列を持つテーブルBの「在庫」列に抽出して以下の様に同一「コード」内に全て書き込みたいと思っておりますが、クエリ作成の勉強を始めたばかりで、上記の様な複雑(?)なクエリの作り方が判りません。 ※簡単なクエリをデザインビューで作ったり、SQL ビューで簡単な改造が出来る位です。 [テーブルB](処理後) コード 品名  種類 在庫 1111  A    0   3 1111  A    1   3 1111  A    2   3 1111  A    3   3 2222  B    0   4 2222  B    1   4 2222  B    2   4 2222  B    3   4 2222  B    4   4 3333  C    0   6 3333  C    1   6 3333  C    2   6 3333  C    3   6 3333  C    4   6 3333  C    5   6 3333  C    6   6 尚、「種類」列の値は必ず0から順番に(012345・・・の様に)並ぶ規則となっております。 テーブルAに「在庫」列を追加挿入してから「種類」の最大値を書き込む方法でも、テーブルB(テーブルAをコピーして「種類」列を追加したテーブル)に書き込ませる方法でもどちらでも問題はありません。 どなたかご教示頂ければと思います。宜しくお願い致します。  

  • グループ集計と総合集計を行うには

    以下のようなテーブルが存在します。 A   B   C 1   1   3 1   2   4 2   3   3 2   2   3 ・・・・ 求めたい事は、 ・Cの総合計 ・A列におけるCの合計 ・A&B列におけるCの合計 です。3回SQLをまわせばいい事かもしれませんが、行数がすさまじく多いので1回もしくは2回のSQLで上記の結果が得られればいいなと思っています。 何かいい案がありましたらご教授いただきたくよろしくお願いします。

  • ACCESS2007の不思議な現象に困っています!!

    ACCESS2007の不思議な現象に困っています!! ACCESS2007+SharePointで開発を行っております。 SharePointとリンクしているテーブルが1つあり、そのテーブルを基にクエリを実行するのですが、 データベースウインドウを開いた直後にクエリを実行すると0レコードを返します。 再度クエリを実行すると3レコード返します。 (2回目以降は何度実行してもちゃんと3レコードを返します。) 3レコード返すのが正解なのですが、いろいろ調べてみると、どうも複数値フィールド(リンクテーブルの1つのフィールドが複数値フィールド)に対して抽出条件を設定しているところが問題というところまでは分かったのですが、対処法が分からず困っています。 (ちなみに抽出条件は Like "*OOO*" な感じです) あと、自分なりにわかったことなのですが、、、 下記のようなテーブル(例)があったとします。(列Cが複数値フィールドです) SQL: select * from TableA where 列C.Value Like "*1*" 列A      列B     列C ----------------------- 10      100      1 20      200      2 30      300      3 40      400      1,2 50      500      1,3 60      100      2,3 ----------------------- 初回クエリ実行結果 列A      列B     列C ----------------------- 10      100      1 ----------------------- 2回目以降のクエリ実行結果 列A      列B     列C ----------------------- 10      100      1 40      400      1,2 50      500      1,3 ----------------------- どうかご教授の程、よろしくお願い致します。

  • Accessでのデータ検索(表示)について

    Access初心者です。 Accessでのデータ検索(表示)について質問します。 例えば、フィールド列がAからEまであり、A列には1から20までの数字がはいっており、BからE列には金額が入ったテーブルがあるとします。 そして、フォーム上に「甲」「乙」と言う名前のテキストボックスが2つあり「甲」のテキストボックスにB10と入力すると「乙」にテーブルのA列の10とB列で交わる金額が表示され、C20と「甲」に入力するとA列20とC列で交わる金額が表示されると言った具合に「甲」の値が変わるつど「乙」も変わるようにするには、どうすればよいでしょうか?少し分かりにくい質問ですみません。 エクセルだとMATCH関数やINDEX関数等を組み合わせることで可能かと思いますが、Accessではどうすればよいか分からないのでご教示ください。 Accessは2000を使用しています。

  • アクセスの複数フィールドからの抽出について教えてください。

    「テーブル1」があり、「テーブル1」の中にフィールドA、フィールドB、フィールドC、フィールドDがあります。  その4つのフィールドの中のどれにも”あ”という言葉が含まれていないレコードを探しだしたいのですが、クリエでOR検索してもうまくいきません。  フィールドAに”あ”は無くても、フィールドBかフィールドCに”あ”といいう文字が含まれているものが出てきてしまいます。どうしてでしょう・・・  ちなみにSQL文は SELECT * FROM TABLE1 WHERE ((Not (TABLE1.フィールドA)="あ")) OR ((Not (TABLE1.フィールドB)="あ")) OR ((Not (TABLE1.フィールドC)="あ")) OR ((Not (TABLE1.フィールドD)="あ"));  となっています。明らかに初歩的な問題だと思われますが、初心者のため分からず困っております。  アドバイス、よろしくお願いします。

  • Accessについて質問です。

    Accessについて質問です。 テーブルの列に、A、B、C、Dの項目がそれぞれ並んでいて、レコードにデータが並んでいるのですが、AとBが同じ値であるときに、Cのデータを無視して、AとBが同じ値のレコードについてのDの合計を出したいのですが、どうすれば可能ですか?データが膨大であるため、エクセルに移したり手作業での作業は時間的に不可能です。 (具体的には、Aは県名、Bは県民が消費した食べ物の種類、Cは月(01~12)、Dは消費した食べ物それぞれの消費金額です。現実のテーブルは月次表示になっているので、それを年次表示にしたいです。)

  • Access 複数フィールドにまたがる抽出条件

    Access2016で、クエリの抽出条件の設定に悩んでいます。解決策をご存知の方はご教示いただきますようお願い致します。 ★やりたいこと★ 【テーブル1】に以下のようなフィールドがあります。 [フィールドA] "製品a" "製品b" "製品c ..." のようなデータ群 [フィールドB] "00 "01" の2種類のデータ群 [フィールドC] "98" "99" の2種類のデータ群 フィールドBが "00" で、かつフィールドCが "98" に該当するデータのみを除外する抽出条件を設定したい。 ※フィールドBが "00" でフィールドCが "99" のようなデータは除外したくない SQLとかは使わず、初心者でも後から解読・編集できるような方法があればありがたいです。

専門家に質問してみよう