HOME > 即効テクニック > Access一般機能 > クエリ・SQL > IIf関数で条件判断をしてクエリでデータをセットする

即効テクニック

クエリ・SQL

IIf関数で条件判断をしてクエリでデータをセットする

(Access 97)
あるフィールドのデータの内容によって、別のフィールドにデータをセットする処理を行う場合、更新クエリの「レコードの更新」行でIIf関数を利用する方法があります。
IIf関数は、条件によって実行する処理を分岐することができる関数です。
例えば、「お天気テーブル」に次のようなデータが入力されているとします。

日付     天気        記号
2000/1/10   晴れ
2000/1/11   晴れ
2000/1/12   曇り
2000/1/13   雨
2000/1/14   晴れ

記号フィールドには、天気フィールドが「晴れ」だったら「○」、「曇り」だったら「△」、「雨」だったら「□」をセットします。
方法は次のとおりです。

(1)新規に更新クエリを用意して、「お天気テーブル」を追加する。

クエリの新規作成ダイアログボックス

お天気テーブルを追加

更新クエリにする

(2)デザイングリッドにフィールドリストから「記号」フィールドを追加する。

(3)「レコードの更新」に次の式を入力する。
IIf([天気]="晴れ","○",IIf([天気]="曇り","△",IIf([天気]="雨","□")))

「レコードの更新」を設定

(4)クエリを保存して実行すると、「お天気テーブル」の記号フィールドは
次のようにセットされる。

日付     天気        記号
2000/1/10   晴れ        ○
2000/1/11   晴れ        ○
2000/1/12   曇り        △
2000/1/13   雨         □
2000/1/14   晴れ        ○

IIf関数の構文は次のとおりです。

<構文>IIf(expr, truepart, falsepart)
expr必ず指定します。評価対象の式を指定します。
truepart必ず指定します。名前付き引数exprが真(True)の場合に返す値 または式を指定します。
falsepart必ず指定します。名前付き引数exprが偽(False)の場合に返す値 または式を指定します。
【例】 次の使用例では、IIf関数を使って[天気]フィールドを評価し、その値が「晴れ」の場合は "○" を、「晴れ」以外の場合は "×"をセットします。 IIf([天気]="晴れ","○","×")