重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

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

A 回答 (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
    • good
    • 0

いわゆる表引き(Lookup)ですね



下のような換算表を作ります

範囲下限 範囲上限 値
1     10   1000
11    20   2000



数値の入ったテーブルと上のテーブルを
クエリデザインビューに取り込み
結合はしないでおいて
数値フィールドの抽出条件欄に

Between 範囲下限 and 範囲上限

と書いて値を取り出せば、範囲に合致する値が取り出せます
    • good
    • 0

そうです。

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

この回答への補足

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

補足日時:2007/05/06 11:12
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す