• ベストアンサー

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

  • アクセス・選択クエリについて

    アクセス・選択クエリについて こんにちは。現在、選択クエリについて悩んでおります。 テーブルAとテーブルBからそれぞれ3つのフィールドを選び、選択クエリを作成。しかし、出来上がったクエリのデータシートには一切データが表示されていません。ならばと思い、テーブルAからだけ3つのフィールドを選びクエリを表示させると、きちんと表示します。テーブルA,テーブルBには当然主キーが設定されていますが、その事と関係するのでしょうか?ご存知の方、どうか教えてください。宜しくお願い致します。

  • ACCESSについて

    Accessで以下のように処理したいのですが、方法を教えてください。 下記のように2つのテーブル1、2があり、それぞれ一つずつの項目(A、B)があります。 テーブル1  テーブル2  項目A    項目B  001     002  002     004  005     006  006     007  008     008 これをクエリーを使って、 クエリー0  テーブル1.項目A  テーブル2.項目B     001     002        002               004     005     006        006               007     008        008 と表示させたいのですが、どうしたらいいでしょうか?

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1が"a"又は、"b"の場合は、"ABC"と表示し、それ以外の場合は、テーブルAのフィールド2に対応している、テーブルBのフィールド1の値を表示させる事はできますか? 誰か教えて下さい。よろしくお願いします。

  • Access2002 Insert関数が未定義関数となり、エラー

    XP Access2002です。 ランキング形式のテーブルから、クエリを作成しています。 クエリでの表示は A1 となっているのですが、それにハイフン「-」を入れて、A-1としたいです。 「A1」は、テーブル名:「ランク」内のフィールド名:「順位」 SQLビューで insert(ランク!順位,2,0,'-') AS ランキング としたのですが、結果は、未定義関数と出てしまいます。 InsertをReplaceに変更したら、今度はアラーとは出ませんが、表示画面では、エラー表示になってしまいます。 構文が違うのでしょうか? SQLを使っていて、『未定義』とアラートが出たのは初めてですので、戸惑っています。

  • ACCESSの結合

    よろしくお願いします。 ACCESS2000で、AテーブルのA'フィールドとBテーブルのB’フィールドを結合させ、同一でないものを表示させる(クエリーで)方法を教えてください。 よろしく、お願いいたします。

  • ACCESSのクエリで、ランクテーブルを使ってランク付けをしたい

    例えば次のような処理をしたいのですが、適切な方法がわかりません。宜しくお願いいたします。 <ランクテーブル> 最低  最高 ランク 81 100  A 41  80  B  0  40  C <成績データ> 山田 28点 加藤 89点 成績データにランクデータを反映させ、上記の例では山田のランクを”C”に、加藤のランクを”A"と表示するクエリを作りたいと思います。EXCELなら簡単ですが、ACCESSではどのようにすればいいのでしょうか? 宜しくお願いいたします。

  • 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))) としたのですが、できません。 間違いのご指摘と、どうすればよいかを教えて下さい。 宜しくお願い致します。

  • ACCESS2000でのテーブルの結合について

    初歩的な質問で恐縮ですが ACCESS2000を使用しテーブルの構造が(フィールド)同じもの(但し入っているデータは異なります)あります。 このテーブルは別々のまま保存した状態でクエリーでひとまとめにして表示させたいのですが 例えば テーブルAには300件 テーブルBには200件 テーブルCには100件の同一構造のデータがあった場合 クエリーDとしてA+B+Cで600件が表示されクエリーDのデータを修正した場合それぞれのテーブルのデータに反映させるようにしたいのです。 以上よろしくお願いいたします。 

  • アクセスのクエリで

    アクセスのクエリで、テーブルAのフィールド1には数字、×、アルファベットの組み合わせの文字がありますが、この中からアルファベットを消去した表示にする事はできますか? 例えば、T24.70×17.5 ならば、 24.70×17.5にしたいです。 誰か教えて下さい。よろしくお願いします。

  • アクセスクエリ

    アクセスクエリのフィールド MS-accessのクエリで質問です クエリで、3つのテーブルがあります。 どのテーブルのフィールドにも[売上]があります。 この3つのテーブルの[売上] フィールド1列に表示させる方法はありませんか