MS Access Query Критерии II если правда тогда - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть запрос MS Access 2007 со следующими критериями - но он не работает!

IIf([Forms]![CSL_CSD_Log]![Reason_Category]=1,<6,[Forms]![CSL_CSD_Log]![Reason_Category])

Я не могу понять, почему результат ИСТИНА не дает мне все значения, которые<6.Если я просто поставлю <6 в качестве критерия - это работает нормально.По сути, я хочу отобразить ВСЕ записи, кроме тех, которые имеют идентификатор 6. </p>

Я что-то упустил ??

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Спасибо за ответы, они взяли меня в другом направлении, и мне удалось заставить его работать по мере необходимости.Это может быть не самый красивый бит кодирования, но эй:)

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;

Еще раз спасибо.

0 голосов
/ 22 ноября 2018

Перейдите к представлению SQL и попробуйте ввести предложение , где :

WHERE 
    IIF([Forms]![CSL_CSD_Log]![Reason_Category] = 1, [FieldToFilter] < 6, [FieldToFilter] = [Forms]![CSL_CSD_Log]![Reason_Category])
...