• ベストアンサー

ACCESSテーブルで

テーブル数値型で1~10は1000、11~20は2000というように数字が含まれる範囲によって違う値を選択したいときにはどうしたらいいでしょうか?クエリで抽出しないとできませんか?

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

  • ベストアンサー
noname#60992
noname#60992
回答No.3

1~10は1000 11~20は2000 21~30は3000 ........... このパターンがずっと続くなら、 INT((値+9)/10)*1000 で求められると思います。 そうでないなら、そのようなファンクションを作って、必要時に呼び出すというやり方もあります。 FUNCTION KEKKA(ATAI) AS LONG SELECT CASE ATAI CASE 1 TO 10 KEKKA = 1000 CASE 11 TO 20 KEKKA = 2000 CASE 21 TO 40 KEKKA = 3000 CASE ELSE KEKKA = 0 END SELECT END FUNCTION

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

いわゆる表引き(Lookup)ですね 下のような換算表を作ります 範囲下限 範囲上限 値 1     10   1000 11    20   2000 ・ ・ 数値の入ったテーブルと上のテーブルを クエリデザインビューに取り込み 結合はしないでおいて 数値フィールドの抽出条件欄に Between 範囲下限 and 範囲上限 と書いて値を取り出せば、範囲に合致する値が取り出せます

  • san1126
  • ベストアンサー率39% (68/172)
回答No.1

そうです。それはクエリでの条件設定で行います。思っているほど難しくはありませんが、1~10、11~20と言う条件がたくさんある場合は、めんどくさいです。 少なくとも私の知る限りではその手段しかありません。

ttttt00000jp
質問者

補足

それではテーブルでは例えば1000のIDを1、2000のIDを2というふうにし、クエリで1~10はID1、11~20はID2となるようにするのですね。種類が多いのでちょっとめんどくさいです・・・。ありがとうござました。

関連するQ&A