• ベストアンサー

Access2007の事で

現在、Access2007のクエリを使ってランクを表示させようとしているのですが、そんな事は出来るのでしょうか? 出来るのであればやり方教えていただけるとありがたいです。 現在、得点が入っているテーブルから得点を取ってきてそれに応じて 100000以上ならAランクという物を作りたいと思っています。

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.1

データを入れているテーブルをtblDATAと します。フィールドはID(オートナンバー), 名前(テキスト型)、得点(数値型)とします。 次に示すSQL文は0、1~19、20~29、 30~39、40~49、50以上というように得点 圏を区切り、それぞれE,D,C,B,A,AA,AAA というようなランク付けをしています。 得点圏やランク付けは修正してください。 SELECT tblDATA.氏名, tblDATA.得点, IIf([得点]=0,"E","") & IIf([得点]>=1 And [得点]<=9,"D","") & IIf([得点]>=10 And [得点]<=19,"C","") & IIf([得点]>=20 And [得点]<=29,"B","") & IIf([得点]>=30 And [得点]<=39,"A","") & IIf([得点]>=40 And [得点]<=49,"AA","") & IIf([得点]>=50,"AAA","") AS ランク FROM tblDATA; ランク付けを実現しているのは、最初の IIf から AS ランク までです。 たとえば希望されている100000以上をA とするだけなら、 IIf([得点]>=100000,"A""") AS ランク とするだけです。つまり、 SELECT tblDATA.氏名, tblDATA.得点, IIf([得点]>=100000,"A""") AS ランク FROM tblDATA; とするだけです。 ここで使っているIIf関数 はヘルプやネットで調べてください。 クエリのデザインビューのランクという フィールドをクリックしてビルドを開けば その中にランクのフィールドにかかれている 文が確認できます。IIf関数の中で得点圏を 設定しながら、いくつかのIIf関数をつなげて ランクを作っていきます。その構造は SQL文の中で確認してください。

hayate_as
質問者

お礼

ありがとうございます とても参考になりました

その他の回答 (1)

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

以下参考になるでしょうか ACCESS2007でイレギュラーなグループ化は可能ですか? http://oshiete1.goo.ne.jp/qa5492502.html > 現在、得点が入っているテーブルから得点を取ってきてそれに応じて > 100000以上ならAランクという物を作りたいと思っています。 だけであれば、 SELECT * FROM テーブル WHERE 得点 >= 100000; で抽出できると思います。 (抽出されたものをAランクという扱いにすれば良いと思います)

関連するQ&A