Ms access 如何根据其他字段的值筛选MS Access字段

Ms access 如何根据其他字段的值筛选MS Access字段,ms-access,if-statement,Ms Access,If Statement,我有一个访问查询,其中包括一个[月份]字段和另一个[会计年度]字段。如果【会计年度】=2021,我想过滤月份字段以仅返回【月份】1,如果不是会计年度2021,则返回所有【月份】(很抱歉出现这样的情况:将过滤月份中的null替换为月份以获取月份) 计算字段可能就是您要查找的字段。您可以在网上获得有关使用计算字段的更多指导,如: 假设您使用的是Access查询设计器,这里有一些示例数据、一个查询和查询结果 以下是计算字段FilteredMonth的详细信息,它不适合屏幕截图 FilteredM

我有一个访问查询,其中包括一个[月份]字段和另一个[会计年度]字段。如果【会计年度】=2021,我想过滤月份字段以仅返回【月份】1,如果不是会计年度2021,则返回所有【月份】

(很抱歉出现这样的情况:将过滤月份中的null替换为月份以获取月份) 计算字段可能就是您要查找的字段。您可以在网上获得有关使用计算字段的更多指导,如:

假设您使用的是Access查询设计器,这里有一些示例数据、一个查询和查询结果

以下是计算字段FilteredMonth的详细信息,它不适合屏幕截图

FilteredMonth: IIf(Not ([table1].[FiscalYear]=2021) Or ([table1].[FiscalYear]=2021 And [table1].[TheMonth]=1),[table1].[TheMonth],Null)
以下是生成的sql: '''' 选择Table1.TheMonth、Table1.FiscalYear、Table1.amount、IIf(非([Table1].[FiscalYear]=2021)或([Table1].[FiscalYear]=2021和[Table1].[TheMonth]=1),[Table1].[TheMonth],Null)作为FilteredMonth 来自表1; '''


IIF或“如果且仅当”是一个内置的访问函数,您可以查看。

这非常简单。可以在查询的WHERE子句中使用AND和OR。你试过什么吗?在哪里([月]=1和[财政年度]=2021)或不在哪里(财政年度]=2021