|
||
IIF関数 : Access(アクセス) |
||
Access関数へ | ||
IIF関数とは、指定した式を判定し、その通りなら「真(TRUE)」を返し、そうでなければ「偽(FALSE)」を返す条件判断をする関数です。VBAで使用するIF関数と似た動作をします。 下にVBAで比較したコードを掲載していますので、参照してください。
スポンサーリンク
IIF関数の構文IIF(条件判断する式 , 「真(TRUE)」の場合返る値 , 「偽(FALSE)」の場合返る値)下の人口テーブルを使用します。 IIF関数をフォームで使用したサンプルフォームのレコードソースに人口テーブルを指定します。フォームにテキストボックスを追加します。 テキストボックスのコントロールソースに下記のIIF関数を使った式を入力します。 =IIf([ID] Mod 2=1,[都道府県名],[人口]) これでIDが奇数の場合は、都道府県名を表示入力でき、偶数の場合は、人口を表示入力できるようになります。 奇数の場合は、都道府県名が表示されています。 次のレコードに移動し、奇数の場合は、人口が表示されています。 IIF関数をクエリで使用したサンプルクエリを作成し、フィールドに下記のIIF関数を使った式を入力します。区分: IIF(RIGHT([都道府県名],1)="県","県","") これで都道府県名の最後の1文字が「県」なら「県」と表示され、そうでない場合は空白になります。 実行結果です。 都道府県名の最後の1文字が「県」の場合のみ「県」と表示されています。 IIF関数はネスト(入れ子)して使用することができます。 ネストとは、関数内にさらに同じ関数を使用することです。 下記のネストした式を入力します。 区分: IIf(Right([都道府県名],1)="都","都",IIf(Right([都道府県名],1)="道","道",IIf(Right([都道府県名],1)="府","府",IIf(Right([都道府県名],1)="県","県","")))) これで都道府県名の最後の1文字が表示されます。 IIF関数とIF文を使ったVBAサンプルコードIIF関数とIF文が、同じ結果を返すコードを作成しました。内容は上のクエリで使用したものと同じですが、結果をテキストボックスに表示するようにしています。 これを見るとIF文の方が見やすく、デバッグもし易そうです。 IIF関数とIF文の違いは、IIF関数は必ず「真(TRUE)」と「偽(FALSE)」の値を両方指定しないといけませんが、IF文はどちらかでもOKなことです。
Option Compare Database
Private Sub Form_Current() Dim s As String Me!テキスト0 = IIf(Right([都道府県名], 1) = "都", "都", _ IIf(Right([都道府県名], 1) = "道", "道", _ IIf(Right([都道府県名], 1) = "府", "府", _ IIf(Right([都道府県名], 1) = "県", "県", "")))) If Right([都道府県名], 1) = "都" Then Me!テキスト2 = "都" ElseIf Right([都道府県名], 1) = "道" Then Me!テキスト2 = "道" ElseIf Right([都道府県名], 1) = "府" Then Me!テキスト2 = "府" ElseIf Right([都道府県名], 1) = "県" Then Me!テキスト2 = "県" Else Me!テキスト2 = "" End If End Sub VBAの実行結果です。 |
||
スポンサーリンク
Copyright (c) Microsoft-Access.net All rights reserved.
|