- ベストアンサー
アクセスのリレーションシップとクエリ
私は、アクセスの初心者です。なので、難しいことはよく分からないのですが、アクセスではある1つのフィールドをキーにしてくっつけたりすることができるじゃないですか?そのキーを設定したりするのはリレーションシップでも、クエリでも同じような感じで行うと思うのですが、その2つの違いはクエリはそれをテーブルとして表示できるのに対して、リレーションシップはただ定義するしかできずテーブルとして表示はできないのでしょうか? あと、クエリとかである条件で抽出したテーブルの1つのフィールドのSUMを出したいのですがどういった条件式を書けばいいのでしょうか? なにぶん、初心者ゆえに質問が分かりにくいと思いますが、どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
No.1の方の提示されたリンク先のNo.2の者です。 「リレーションシップ」と「結合」の違いについては、そちらを見て頂くとして・・・ > リレーションシップはただ定義するしかできずテーブルとして表示はできない > のでしょうか? クエリの表示とはちょっと毛色が違いますが、「一対多」のリレーションシップが 作成されたテーブルでは、「サブデータシート」という形での表示ができます。 (但しAccess2002以降でないと組み込まれていない機能ですが(汗)) http://www.accessclub.jp/actips/tips_95.htm > クエリとかである条件で抽出したテーブルの1つのフィールドのSUMを出したい 既にNo.1の方の回答にある通り、集計クエリを作成すれば、対応できるかと 思います。 デザインビューから集計クエリを作成する場合は、添付画像で赤丸で囲った 「Σ」(集計)ボタンをクリックすると、四角で囲った「集計」行が表示されます ので、そこで「グループ化」「合計」などを適宜指定します。 添付画像の例では、『社員ID』と『商品ID』でそれぞれ「グループ化」を、 『単価*販売数』で「合計」を、また『売上日』で「Where条件」を指定して 抽出条件に「Between #2009/07/01# And #2009/07/31#」を入力する ことで、「社員別・商品別の、7月の総売上」を計算させています。 ※「合計」を指定した部分は、一旦クエリを保存して閉じると、 『フィールド』は「売上:Sum([単価]*[販売数])」に、 『集計』は「演算」に、 それぞれ自動的に書き換えられます。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
ACCESSのクエリの背後には、SQLという言語らしい大切なものが控えている。 SQLでは、条件に合致して表示される明細(行)と、その縦計は一緒には出ないと思う。 SUMという関数は有るがこれは合計(あるいはグループ化された合計)のみ。 http://www.mahoutsukaino.com/ac/ac2002/ac2002/sonota/query/058.htm というのはもっと勉強が先に進んだときの小手技。 ーー ツールーリレーションで設定したAとBのテーブルのリレーションは、クエリのテーブルの表示でAとBを選ぶと、設定したフィールドが線が結ばれて出てくるのでは。 聞いていることはこれか。
お礼
アドバイスありがとうございました!
- mitarashi
- ベストアンサー率59% (574/965)
リレーションシップとクエリの違いについてはこちらがご参考になるかもしれません。 http://okwave.jp/qa5073445.html 合計については、集計クエリではいかが?
お礼
回答ありがとうございました!
お礼
ありがとうございました。 とりあえず、補足で書いたようなことをしたかったので、新たに質問したいと思います。
補足
画像まで貼っていただきありがとうございました。 それで、この集計クエリについての質問なのですが、今AのテーブルとBのテーブルをクエリで結合していて、簡単に書くと下記のようなてーぶるになっています。 【県名】 【地方】 【数量】 群馬 関東 10 埼玉 関東 15 栃木 関東 20 東京 関東 50 新潟 北陸 15 富山 北陸 15 石川 北陸 35 鳥取 中国 8 島根 中国 12 広島 中国 40 こういったクエリで作ったテーブルの地方別に合計値を出したいのですがどうすればいいのでしょうか? それから、欲をいえば地方をレコード一つにして、県名を別のフィールドに並べるとかってできませんかね?