データを入れているテーブルを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文の中で確認してください。
お礼
ありがとうございます とても参考になりました