Access Switch関数で複数条件を判断する方法

アクセス担当のまみです。

 

関数ってたくさんあって、よく使うのはIIf関数やReplace関数でしょうか。

条件判断してくれて、条件に合う処理結果を返してくれる関数って本当に便利ですね。

 

条件判断の内容によっては、IIf関数でもReplace関数でも他の関数でも使用できることもあります。

 

処理結果が同じでも色んな方法があって、わかりやすい関数もあるので、いろんな関数を知っておくのもありですね!

 

今回は、Switch関数についてお伝えしますね。

 

Switch関数

 

構文
Switch(条件式1,値1[,…,条件式i,値i,…,条件式n,値n])

 

[ ]内は省略可能です。

 

(はてな君)
Switch関数って使ったことないよ。

 

(あいちゃん)
そうかもしれないね。やっぱりIIf関数やReplace関数がよく使われるかな。
Switch関数って条件を羅列していけばいいからわかりやすいんじゃないかな。
他の関数だと入れ子(ネスト)にしないといけなかったりするけど。

 

(はてな君)
えっ入れ子にしなくていいの?
入れ子って苦手なんだ~。

 

(あいちゃん)
そうだね。ちょっと難しいね。
Switch関数だと「,」で区切るだけだから簡単だよ!

 

クエリでSwitch関数を使用する

 

使用するテーブル

「T_総合判定」

 

(はてな君)
Aは◎、Bは○、Cは△、Dは▲にしたいんだ。

 

(あいちゃん)
じゃあクエリでSwitch関数使ってみよう!

 

 

リボンの①「作成」タブから②「クエリデザイン」を選択し、「T_総合判定」を追加します。

 

③フィールドに直接入力してもいいですが、右クリックして「ズーム」を選択すると、大きな画面で編集できます。

 

④「総合判定: Switch([判定]=”A”,”◎”,[判定]=”B”,”○”,[判定]=”C”,”△”,[判定]=”D”,”▲”)」と入力して「OK」を左クリックしましょう。

 

クエリの結果

 

(はてな君)
記号でちゃんと表示されたよ!確かにわかりやすかったかも!

 

Replace関数、IIf関数で同じ処理をする

 

(あいちゃん)
実は、Replace関数でもIIf関数でも同じ処理ができるんだけどやってみる?

 

(はてな君)
入れ子にするんだよね?苦手だけど頑張ってみる。

 

フィールドに下記を入力します。

 

Replace:Replace(Replace(Replace(Replace([判定],”A”,”◎”),”B”,”○”),”C”,”△”),”D”,”▲”)

IIf:IIf([判定]=”A”,”◎”,IIf([判定]=”B”,”○”,IIf([判定]=”C”,”△”,IIf([判定]=”D”,”▲”))))

 

(はてな君)
これでどう?

 

(あいちゃん)
はてな君、よく頑張ったね!
デザインビューで確認してみてね!

 

クエリの結果

 

(あいちゃん)
それぞれの関数に特徴があるので処理内容によっては他の関数ではできないこともあるよ!

 

クエリは「Q_Switch」と名前をつけておきましょう。

 

 
 

 

偽の場合の処理

 

(はてな君)
Switch関数って条件にあてはまらないときの処理って書けないの?
全部ひっくるめて「エラー」とかにしたいんだけど?

 

(あいちゃん)
条件の一番最後に「,True,”エラー”」ってつけ足せばできるよ!

 

総合判定: Switch([判定]=”A”,”◎”,[判定]=”B”,”○”,[判定]=”C”,”△”,[判定]=”D”,”▲”,True,”エラー”)

 

(あいちゃん)
判定フィールドに「A,B,C,D」以外の入力や空白だと「エラー」って表示になるよ!

 

クエリの結果

 

(はてな君)
そっか。できるんだ!

 

Switch関数は前から順番に条件判断されます。「True」は一番最後に書いてくださいね。

 

まとめ

 

Switch関数ってとってもわかりやすいのでおススメです。

ぜひ活用してくださいね!