ID非公開さん
2022/6/15 18:36
3回答
ACCESS iifの複数条件について 下記2つの条件を満たしていたら"○"と表記するクエリの式を設定したいのですが、どうすればよいでしょうか。
ACCESS iifの複数条件について 下記2つの条件を満たしていたら"○"と表記するクエリの式を設定したいのですが、どうすればよいでしょうか。 ・A=Bかつ、C="あ"だったら、DかEに"1" ・A=Bかつ、C="い"だったら、DもEも空白 下記のように設定してみましたがエラーが出て進めません。ご教示お願いいたします。 IIF( [A]=[B] AND [C] ="あ" AND ([D]="1" OR [E] = "1"),iif( [A]=[B] AND [C] ="い" AND [D] is null AND [E] is null ,"○", "" ))
以下のようにFに判定結果を入れたいです。 A B C D E F 1 1 あ 1 1 ○ 1 1 あ 1 空○ 1 1 あ 1 空○ 1 2あ空 1 1 1 い 1 1 1 1 い空 空 ○ 1 1 い 1 空 1 1 い 空 1 1 2い 1 空
Microsoft Access | Visual Basic・247閲覧・50
ベストアンサー
IIf関数は、 最初の引数が評価式 2番目の引数はTrueの場合の処理 3番目の引数はFalseの場合の処理 です。 A、B、C、D、Eがテーブルの列名だとしたら値の更新をしようとしてることになり、この式ではできません。 っていうか、評価式の中に更新式があったりして。 Accessはこれも評価式と見なします。「=」は代入演算子ではなくて比較演算子と見なすってことです。 クエリでのIIf関数の使い方は、評価式の結果に応じて何を出力するかを設定するだけです。 値の更新をするなら、更新クエリを作って抽出条件を設定することになりますが、複数の更新処理を1つの更新クエリで処理はできません。 更新する値を評価式によって分けることはできるかもしれないけど、やったことないね。 評価式に「or」は使えるけど、更新式には使えませんね。だから、DかEに“1”というのはAccess的には意味不明になります。
ID非公開さん
質問者2022/6/15 20:27
ありがとうございます。 AからEの値をみて、2つの条件に一致したらFに○をつけたいです。
質問者からのお礼コメント
分かりにくい説明にも関わらずご教示いただきありがとうございました。 やりたいことが実現できました。
お礼日時:6/16 18:41