• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessクエリ IIFについて)

Accessクエリ IIFについて

このQ&Aのポイント
  • Accessクエリで2つのテーブルをIDで紐付けて項目を比較し、○×を付けたい
  • クエリCを元に前回と今回のフィールドを並べて表示し、評価する方法はあるか
  • Null同士の比較についてと、テーブルの違いによる結果の違いについて質問

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

<IIFとNull値の関係> それは、添付図が示す通りです。 >そもそもNull同士の評価は"×"になってしまうのでしょうか? "〇" という結果を得るには、添付図の3つ目のやり方があります。

naoto0216
質問者

お礼

f_a_007さま ご回答ありがとうございます。 Null同士だと×になってしまうんですね。。 で、それらに0文字を付加してあげれば、評価できるように なるんですね。 大変勉強になりました!ありがとうございました。

その他の回答 (1)

回答No.2

Access2010 をお持ちでしたっけ? なら、 ヘルプで、算術演算子、比較演算子、論理演算子、演算子の優先順位 を熟読されることを強くお勧めします! (私もいまだに「えっ?」ということがあります (^_^;)) Nullが絡んでくると算術演算子では結果はかならずNullになります。 比較演算子でも同様なので 型番評価:IIf([前回_型番]=[今回_型番],"○","×") で少なくともどちらかがNullだった場合は Null ≠ True なので Trueではない方の × が採用されます。 Nullも○に含めたい場合。 そのフィールドがNullなのか「長さ0の空の文字列」なのかも考慮したほうが安全かもしれない。 (データ型によってはいらぬお節介かもしれませんが潰しは効きます) http://support2.microsoft.com/kb/883247/ja でフィールド名をを、A、B、とした場合に IIf(A=B Or (nz(A,"") = "" Or nz(B,"") = ""),"○","×") でどうじゃろね?「えっ?」だったらゴメン。

naoto0216
質問者

お礼

NotFound404さま いつもご回答ありがとうございます。 そもそも比較にNullが絡むとダメなんですね。承知しました。 >IIf(A=B Or (nz(A,"") = "" Or nz(B,"") = ""),"○","×") についですが、nz関数でA、BそれぞれでNullだった場合は""が返され それらが両方""だったら○(=それらが両方Nullだったら○)とするん ですね。 大変勉強になりました!ありがとうございました。 ※NotFound404さまのご回答に気づかず、はじめにご回答頂いた方を  BAとしました。すみません。