• 締切済み

アクセスについて

 *テーブルB    *テーブルA      店番←------販売店番号       店名       商品番号                 販売金額    *テーブルC             商品番号----→商品番号            詳細       商品名            販売日      手数料 リレションシップをしております。 クエリA 店名-商品番号-販売金額-商品名-詳細-手数料金額-販売日 といったクエリをつくりました。 ---------OKウェーブさんからの回答--------------- 「商品」テーブルに 店名 - 商品 - 金額 A店 - 宝石 - 1000 B店 - 時計 - 2000 A店 - 宝石 - 3000 B店 - バック - 4000 ・・・ と格納されているとします で、これらを集計する為に使用するものは、選択クエリ(集計)を使用します 下記にクエリのSQL文を記述します SELECT 商品.店名, Sum(IIf([商品名]="宝石",[金額],0)) AS 宝石合計, Sum(IIf([商品名]="その他",[金額],0)) AS その他合計, Sum(商品.金額) AS 合計, Sum(IIf([商品名]="バック",[金額],IIf([商品名]="時計",[金額],0))) AS 合計A, Sum(IIf([商品名]="その他",[金額],IIf([商品名]="宝石",[金額],0))) AS 合計B FROM 商品 GROUP BY 商品.店名 ORDER BY 商品.店名; ------------------------------------------------- どこの画面でSQL文を記述すえばよろしいのでしょうか。 どこかわかりやすいHPはないでしょうか お願いします。

  • log
  • お礼率7% (3/38)

みんなの回答

  • sgh
  • ベストアンサー率61% (75/121)
回答No.2

こんにちは >どこの画面でSQL文を記述すえばよろしいのでしょうか。 #1のSpeedKingさんのおっしゃるとおりです。 >どこかわかりやすいHPはないでしょうか まず、HELPを検索してください。 ACCESS2000の場合ですが、質問にSQLと入力して検索すると 「既存のクエリの SQL ステートメントを表示または変更する」 という項目が出ます。まさにその内容です。 お困りなのは理解しますが、これくらいはご自分で解決できるのではないでしょうか。 問題が解決したら、前回の回答者にお礼とポイントを入れるのを忘れないでください。 私の回答より的確です。 本格的にSQLを理解したいのであれば、少し敷居は高いですが、 SQLポケットリファレンスという本はおすすめです。 またシスアドの試験にも簡単なSQL文は出るようですね。 デザインビューではできないこともありますので、研究してはいかがでしょうか? きっと今後役に立つと思います。

  • SpeedKing
  • ベストアンサー率50% (6/12)
回答No.1

クエリをデザインビューで開いて、メニューバーの「表示」-「SQLビュー」でSQLをを記載することが出来ます。 上記については、クエリデザインでもできます。 各列宝に 石合計:IIf([商品名]="宝石",[金額],0) と 記載することで同じことができますよ。

関連するQ&A

  • アクセス クロス集計クエリ 縦の合計

    テーブル1には 会社名 取引日 金額 A社 2014/01/01 ¥100 B社 2014/01/02 ¥200 A社 2015/01/01 ¥500 というデータがあります。 このテーブル1を基にクロス集計クエリで TRANSFORM Sum([テーブル1].[金額]) AS 金額の合計 SELECT [テーブル1].[会社名], Sum([テーブル1].[金額]) AS [合計 金額] FROM テーブル1 GROUP BY [テーブル1].[会社名] PIVOT Format([取引日],"yyyy"); というクエリを自動生成しました。 この時、横の合計ではなく縦の合計(年ごとの合計)を表示するには良いでしょうか? サブクエリというのを使うようですが、どうすればいいかわかりませn。 よろしくお願いします。

  • ACCESS 教えて下さい

    前も似たような質問をしたのですがうまく応用が出来なかったので再度ご教授お願い致します。 テーブルA 商品NO SS  S   A   B   C A001  1000 2000 3000 4000 5000 A002   500 700 800  900 950 A003  1500 2500 3000 4500 5500 テーブルB 会社名 会社ランク AAA  SS BBB  S CCC  A があります。 二つをくっつけて受注管理のクエリをつくりました クエリA 購入日 会社名 会社ランク 商品NO 金額 この中で AAAの会社がA001の商品を買ったら金額欄に1000 BBBの会社がA002を買ったら  700 と表示させたくて、 クエリAの金額欄に 金額: IIf([会社ランク]=A,(SELECT A FROM テーブルA WHERE 商品No = 商品No),IIf([会社ランク]=SS,(SELECT SS FROM テーブルA WHERE 商品No = 商品No),IIf([会社ランク]=S,(SELECT S FROM テーブルA WHERE 商品No = 商品No),0))) としたのですが、できません。 間違いのご指摘と、どうすればよいかを教えて下さい。 宜しくお願い致します。

  • SQL文でクロス集計をしたい

    アクセスでクロス集計のSQL文で作りたいと思っています。 このようなデータがあります 年月 支払先 数量 金額 201301 A 10 1000 201302 A 5 500 201302 B 20 2000 201301 C 10 3000 201303 C 15 1500 このデータを下記のように表示したいのですが、 分からなくて困っています。 支払先  データ   201301 201302 201303 A 数量     10      5 A 金額 1000 500 B 数量      20 B 金額 2000 C 数量     10 15 C 金額 3000 1500 合計 数量 20 25 15 合計 金額 4000 2500 1500 どのようにすれば実現出来ますか? 今は、 SELECT 支払先, "数量" AS データ, Sum(IIf([年月]='201301',[数量],0)) AS 201301, Sum(IIf([年月]='201302',[数量],0)) AS 201302, Sum(IIf([年月]='201303',[数量],0)) AS 201303, FROM T_データ GROUP BY 支払先; のクロス集計を 数量と金額、数量の合計と金額の合計でクロス集計をしたクエリを UNIONで実現しています。 出来れば数量と金額は1つのクエリで実現したいと思いますが方法があれば教えて頂きたい と思います。 どうぞ、よろしくお願い致します。

  • Accessでのiif関数について

    はじめまして。 Microsoft Accessの関数についての質問です。 例えばクエリの「商品名」の値AをBに置き換えたい場合、 =iif([商品名]=A,B)とします。 また、商品番号1000~9999まであるとして、1000~1999を抽出したい場合は、Like "1*" もしくは、Between 1000 And 1999 とします。 この時に 商品番号1000~1999を一律1000と置き換えたい場合、クエリでやるとしたらどのようにすれば良いのでしょうか。 イメージ的には =iif([商品番号]="1*",1000)なのですが、「"1*"」の部分をどうやってもうまくいきません。 どなたか詳しい方いらっしゃいましたらお教え頂けないでしょうか。 お忙しいところ申し訳ございませんが、宜しくお願い致します。

  • Microsoft Accessについて

    テーブル)※図1   ID  購入日  商品名  金額    1  2006/07/01  A   100    2  2006/07/15  B   200    3  2006/07/31  A   300    4  2006/08/02  B   400 上記のような情報をレポートで以下のように出力するには どういったクエリ→レポート作成をすればよろしいでしょうか? レポート)※図2   商品名   7月金額合計  8月金額合計  合計    A      400           0      400    B      200          400      600    合計     600          400      1000 クエリで図2の表はできた(クロス集計)のですがそれを レポートにすることができないです。 レポートにすると、どうやっても 商品名  購入月  金額  A    7月  400  B    7月  200       合計  600 という感じにしかできあがらないのです。 お手数ですがよろしくご伝授願います<m(__)m>

  • Accessの入力設定を自動にしたい

    Access97を使っています。 テーブルA 店舗ID 店舗名(全て、閉店した店も含む) テーブルB 店舗ID 店舗名(全て、閉店した店も含む) 商品番号 商品名 クエリC(選択クエリ) 店舗ID 店舗名(営業している店のみ) 商品番号 商品名 フォームD 店舗ID 店舗名 商品番号 商品名  フォームDから新しくオープンするお店の入力を行いたいのですが、店舗IDを入れるとテーブルAから自動的に店名がフォームDに入力され、入力した内容はクエリCに反映するような設定はどうなるのでしょうか?  テーブルBからクエリCを抽出しています。今日一日考えているのですが、頭がパニックって来ました。 よろしくお願いします。

  • ACCESS 演算について

    サブクエリはクエリの中にもう一つクエリを内包するということのようですが、例えば全体からのパーセントを出したい場合、 サブクエリ内で全体の合計を計算し、それを現在のクエリ?に使用することはできるのでしょうか? 抽出には使えるようですが、演算結果を使うことはできないですかね。 クエリを二つ作らなければ駄目でしょうか? SELECT Sum(テーブル1.ボール金額) AS ボール金額の合計 FROM テーブル1; ↑が合計 ↓がボールのブランドごとに集計した合計(ボールのブランドテーブルをテーブル1と店コードで繋いでいます。) SELECT ボール.ブランド, Sum(Int([ボール金額]*([ボール]![シェア]/100)+0.5)) AS ブランド別ボール FROM ボール INNER JOIN テーブル1 ON ボール.店コード = テーブル1.店コード GROUP BY ボール.ブランド; 最終的 シェア: Int(ブランド別ボールの金額/ボール金額の合計*1000+0.5)/10

  • Accessについて

    現在、Access2000を使っています。 初心者で勉強しながら、作っているのですが、どうしても 分からない部分があるので、どなたか教えて下さい。 毎日2回、あるデータを取っています。テーブルAには、 [記録日][aデータ][bデータ] で作ってあります。このテーブルのデータから、グラフを作りたく、 ウィザードを使って作り完成しました。 しかし、同じテーブル構造で、もう一つテーブルBがあります。 (後々、このテーブルがもう少し増えそうです) このテーブルを使って同じようにグラフを作りたく、同じように ウィザードから作ればよいのですが、後々のメンテなどを考えると、 同じ修正を複数作り直すのでは大変なので、モジュールの中で ケース文で分けようと思います。 グラフのプロパティを見ると、 「値集合ソース」に SELECT (Format([記録日],"DDDDD")) AS 式1, Sum([aデータ]) AS aデータの合計, Sum([bデータ]) AS bデータの合計 FROM テーブルA GROUP BY (Format([記録日],"DDDDD")), (Int([記録日])); となってたので、モジュールの中で、 Me.グラフ名.RowSource = "SELECT (Format([記録日],""DDDDD""")) AS 式1, Sum([aデータ]) AS aデータの合計, Sum([bデータ]) AS bデータの合計 FROM テーブルA GROUP BY (Format([記録日],""DDDDD"")), (Int([記録日]));" と書いたのですが、実行するとここで下記のようなエラーになってしまいます。 「指定した式に、RowSourceプロパティに対する不正な参照が含まれます。」 モジュールからは「値集合ソース」(RowSource) にはセット できないのでしょうか? 詳しい方、どうか回答をお願い致します。

  • Accessで重複データを結合するには?

    こんにちわ、みなさん。 Access超初心者です。よろしくお願いします。 Accessのテーブルで下記のようなデータがあるとします。  店名  | 商品 |  A店  |リンゴ |  A店  |トマト |  A店  |ナシ  |  B店  |リンゴ |  B店  |みかん | これを下記のように店名ごとに商品名を結合したいのです。 (レポートではなく、テーブルにしたいです)  店名  | 商品        |  A店  |リンゴ;トマト;ナシ |  B店  |リンゴ;みかん    |   重複クエリーを使えばと思ったのですが、 思ったとおりにはなりませんでした。。 どうぞ、よろしくお願い致します。m(__)m ---------------------------------------- OSは、Windows 98 アプリケーションは、Access 2000 です ----------------------------------------

  • ACCESSのクエリ機能で重複したデータを除く方法

    accessの初心者です。 どなたかお詳しい方是非よろしくお願い致します。 accessのクエリ機能をつかい、レコードを結合したいのですが、重複したレコードを省く方法を教えてください m(_ _)m 例えば、下記のようなAとBというテーブルがあり、Aには商品番号と商品名、Bには商品番号と倉庫名が入っているとします。 テーブルA(※商品番号の重複なし) 商品番号 商品名 001    商品A 002    商品B 003    商品C テーブルB(※商品番号の重複あり) 商品番号 倉庫名 001    倉庫A 001    倉庫B 001    倉庫C 002    倉庫B 002    倉庫C 003    倉庫A 003    倉庫B 商品番号でクエリをかけて、テーブルAのレコード数と同じレコードの商品番号、商品名、倉庫名と表示させたいのです。 (倉庫名はテーブルBのレコードの中のいずれかだけでOKです。) 例えば、下記のようなクエリ結果を表示させたいです。 商品番号 商品名 倉庫名 001   商品A  倉庫A 002   商品B  倉庫B 003   商品C  倉庫A 説明がうまくできず申し訳ありませんが、どなたかお詳しい方よろしくお願い致します。