In演算子の後のカッコの中にNullを含めても、Nullを抽出することはできません。
一方でNot Inのカッコ内にNullを含めた場合はNullを除外して抽出することができます。
後者は一般的なデータベースとは異なる挙動のようですが、とにかくAccessにおける実際のところを見てみます。
サンプルはこのようなテーブルです。
クエリでの抽出条件として、価格列に「In (Null)」と指定してみます。
価格がNullである2つのレコードが抽出されてもよさそうなものですが…
実際にはレコードは1つも抽出されません。
こちらは価格列の抽出条件として「In (Null,300,400)」と指定した結果です。
300と400に該当する2つのレコードは抽出されていますが、Nullのレコードはやはり抽出されません。
次にNot Inの例です。価格列に「Not In (Null)」と指定してみます。
価格がNullでない5つのレコードが抽出されました。
さらに価格列の抽出条件として「Not In (Null,300,400)」と指定した結果です。価格がNullでもなく300でもなく400でもない3つのレコードが抽出されています。
もっとも、この結果は「Not In (300,400)」としたときの結果と変わりありません。
いずれIn (Null)の結果のことを考えると不思議な気がしますが、こういうものとして受け入れるしかありません。参考まで。