私はすでに同様の質問をしましたが、テーブル/クエリを単純化して、(できれば) わかりやすい名前を付けてデータベースの例を作成しました。
https://docs.google.com/file/d/0B2PZcGkhNyd4THpWa01fTjVvSWM/edit?usp=sharing
正常に動作する ChainsCasesPerMonthPerStorePreviousMonthRange という 1 つのクエリがあります。2 つのテーブルと QueryDatesPrevious クエリからデータを取得して、前の期間のデータを QueryDates テーブルで指定された期間に戻します。この段階まではすべて問題ないようです。
しかし、クエリ LeftJoinReturnsError を実行すると、Chains テーブル内の 3 つの余分なチェーンが、予想される Null を返す代わりに #Error を返します。
QueryDatesPrevious をクエリからテーブルに変更すると、すべて正常に動作するため、これが問題の原因のようですが、Iif(IsNull, Null, 0) 条件を使用しても解決できないようです。
問題を解決した人には、さらに 50 担当者ポイントが与えられます。:)
(興味がある場合は前の質問: Access 2007 - Left Join to a query returns #Error instead of Null )
-- 編集の更新 --
テストデータベースに入れた正確なデータを覚えていませんが、出力は次のようになります。
Chain CasesPerMonthPerStore
AgriStore 2.33
Agricultural Export
2B Pencils 3.6
Bob's Markets
したがって、基本的に、他のテーブルにないチェーン テーブル内のチェーンは、左結合の一部として Null を返す必要があります。