我已经问过一个类似的问题,但我现在已经简化了表/查询,足以建立一个具有(希望)描述性命名的示例数据库:
https://docs.google.com/file/d/0B2PZcGkhNyd4THpWa01fTjVvSWM/edit?usp=sharing
有一个查询,ChainsCasesPerMonthPerStorePreviousMonthRange,可以正常工作。它从两个表和 QueryDatesPrevious 查询中获取数据,以将上一期间的数据返回到 QueryDates 表中指定的数据。到目前为止,一切似乎都很好。
但是当我运行查询 LeftJoinReturnsError 时,Chains 表中的三个额外链返回 #Error 而不是返回预期的 Null。
如果我将 QueryDatesPrevious 从查询更改为表,一切正常,所以这似乎是问题所在,但我似乎无法解决它,即使使用 Iif(IsNull, Null, 0) 条件。
只要我能弄清楚如何转移它们,解决它的人就会额外获得 50 个代表点。:)
(如果您有兴趣,上一个问题:Access 2007 - Left Join to a query 返回 #Error 而不是 Null)
-- 编辑更新 --
输出看起来像这样,虽然我不记得我放入测试数据库的确切数据:
Chain CasesPerMonthPerStore
AgriStore 2.33
Agricultural Export
2B Pencils 3.6
Bob's Markets
因此,基本上,Chain 表中不在其他表中的任何链都应返回 Null 作为左连接的一部分。