我有一个符合以下条件的MS Access 2007查询-但这不起作用!
IIf([Forms]![CSL_CSD_Log]![Reason_Category]=1,<6,[Forms]![CSL_CSD_Log]![Reason_Category])
我无法弄清楚为什么TRUE结果不能为我提供所有<6的值。 如果我简单地将<6作为标准-效果很好。 本质上,除了ID为6的记录,我想显示所有记录。
我错过了什么吗?
谢谢。
答案 0 :(得分:0)
转到 SQL 视图并尝试 where 子句:
WHERE
IIF([Forms]![CSL_CSD_Log]![Reason_Category] = 1, [FieldToFilter] < 6, [FieldToFilter] = [Forms]![CSL_CSD_Log]![Reason_Category])
答案 1 :(得分:0)
感谢您的回复,他们将我带往了另一个方向,我设法使它能够按需工作。 它可能不是最漂亮的编码,但是:)
SELECT TBL_Descriptor_Values.Descriptor_ID, TBL_Descriptor_Values.Descriptor,
TBL_Descriptor_Values.Descriptor_Category
FROM TBL_Descriptor_Values
WHERE (((IIf([Forms]![CSL_CSD_Log]![Reason_Category]<2,[TBL_Descriptor_Values].
[Descriptor_Category]))<6) AND ((TBL_Descriptor_Values.Enabled)=-1)) OR
(((TBL_Descriptor_Values.Enabled)=-1) AND ((IIf([Forms]![CSL_CSD_Log]!
[Reason_Category]=4,[TBL_Descriptor_Values].[Descriptor_Category]))=4)) OR
(((TBL_Descriptor_Values.Enabled)=-1) AND ((IIf([Forms]![CSL_CSD_Log]!
[Reason_Category]=5,[TBL_Descriptor_Values].[Descriptor_Category]))=5)) OR
(((TBL_Descriptor_Values.Enabled)=-1) AND ((IIf([Forms]![CSL_CSD_Log]!
[Reason_Category]=6,[TBL_Descriptor_Values].[Descriptor_Category]))=6))
ORDER BY TBL_Descriptor_Values.Order;
再次感谢。