- ベストアンサー
ACCESSテーブルで
テーブル数値型で1~10は1000、11~20は2000というように数字が含まれる範囲によって違う値を選択したいときにはどうしたらいいでしょうか?クエリで抽出しないとできませんか?
- みんなの回答 (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)
いわゆる表引き(Lookup)ですね 下のような換算表を作ります 範囲下限 範囲上限 値 1 10 1000 11 20 2000 ・ ・ 数値の入ったテーブルと上のテーブルを クエリデザインビューに取り込み 結合はしないでおいて 数値フィールドの抽出条件欄に Between 範囲下限 and 範囲上限 と書いて値を取り出せば、範囲に合致する値が取り出せます
- san1126
- ベストアンサー率39% (68/172)
そうです。それはクエリでの条件設定で行います。思っているほど難しくはありませんが、1~10、11~20と言う条件がたくさんある場合は、めんどくさいです。 少なくとも私の知る限りではその手段しかありません。
補足
それではテーブルでは例えば1000のIDを1、2000のIDを2というふうにし、クエリで1~10はID1、11~20はID2となるようにするのですね。種類が多いのでちょっとめんどくさいです・・・。ありがとうござました。