Access (一般機能)

Accessの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 8.1 : Access 2013)
AND演算子について
投稿日時: 18/03/09 18:17:36
投稿者: えあろん

お世話になっております。
 
項目AにOが入り、かつ項目Bが空白ならOK、
項目AにSが入りかつ項目BがOKならOK、そうでなければNGと
反映させたいのですが以前こちらで教えて頂いたANDを使用し式
を入浴しているのですが上手くいきません。
かっこの使い方がいまいちわからないのですが、何がいけないのでしょうか?
 
式1: IIf([項目A]="O" And [項目B] Is Null, "OK" , AND (IIf([項目A]="S" And [項目B]="OK","OK"),"NG"))

回答
投稿日時: 18/03/09 19:22:05
投稿者: hatena
投稿者のウェブサイトに移動

下記てどうですか。
 
式1: IIf([項目A]="O" And [項目B] Is Null, "OK" , IIf([項目A]="S" And [項目B]="OK","OK","NG"))
 
IIf関数の構文は、
 
IIf(条件式, 真の結果, 偽の結果)
 
です。偽の結果 にIIf を入れ子にする場合は、
 
IIf(条件式, 真の結果, IIf(条件式, 真の結果, 偽の結果))
 
入れ子が深くなる場合は、Switch関数の方が分かり安いですね。
 
式1: Switch([項目A]="O" And [項目B] Is Null, "OK", [項目A]="S" And [項目B]="OK", "OK", True, "NG")
 
入れ子にせずに記述できます。

投稿日時: 18/03/11 03:45:06
投稿者: えあろん

hatena様
 
回答ありがとうございます!
思い通りに実行できました!
返信遅くなりましたが、仕事で急いでいたので大変
助かりました!
また、下記も判りやすく大変ためになりました!
 
IIf関数の構文は、
 
IIf(条件式, 真の結果, 偽の結果)
 
です。
 
そして、入れ子が多くなると()の閉じ方に混乱する私にとっては
下記、Switch関数大変助かります!
本当に大変助かりました!ありがとうございます!!
 
入れ子が深くなる場合は、Switch関数の方が分かり安いですね。
 
式1: Switch([項目A]="O" And [項目B] Is Null, "OK", [項目A]="S" And [項目B]="OK", "OK", True, "NG")
 
入れ子にせずに記述できます。 [/quote]