如何在MS Access查询中基于会计年度字段过滤月份字段:2021年仅返回月1
解决MS Access查询的条件过滤问题
嘿,我来帮你搞定这个查询的过滤逻辑!针对你需要的规则——当[Fiscal_Year]等于2021时只返回[Month]为1的记录,其他年份返回所有月份,这里有两种简洁的实现方式:
方式一:直接用WHERE子句组合条件(推荐)
这种写法逻辑直白,后期维护起来更容易理解:
SELECT * FROM 你的查询名称或表名 WHERE ([Fiscal_Year] = 2021 AND [Month] = 1) OR [Fiscal_Year] <> 2021;
逻辑拆解:
- 第一部分
([Fiscal_Year] = 2021 AND [Month] = 1):精准匹配财年2021且月份为1的记录 - 第二部分
OR [Fiscal_Year] <> 2021:匹配所有非2021财年的记录,自动包含这些年份的全部月份
方式二:用IIF函数简化写法
如果你习惯用Access的内置函数,也可以用IIF来实现:
SELECT * FROM 你的查询名称或表名 WHERE IIF([Fiscal_Year] = 2021, [Month] = 1, True);
逻辑拆解:
- 当
[Fiscal_Year]为2021时,判断条件变为[Month] = 1,只有符合的记录会被保留 - 当
[Fiscal_Year]不是2021时,判断条件直接为True,所有记录都会被返回
两种写法都能满足你的需求,优先推荐第一种,可读性更强哦~
内容的提问来源于stack exchange,提问作者john F
相关产品推荐
相关产品推荐

