Получить неправильный вывод из логического выражения в запросе Access - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть база данных Access, которая отслеживает важную квалификацию, сроки которой основаны на вашем ранге.У меня есть запрос, который вычислит дату начала квалификации на основе даты их поступления в команду, но мне нужно следующее уравнение, чтобы дать мне дату, когда они станут просроченными, если они не получат квалификацию.Сначала есть пара переменных, если это переквалификация, или начальная квалификация, если это переквалификация, независимо от того, какой у вас есть 12 месяцев, чтобы сделать это.Если это первоначальная квалификация, то если ваш ранг E1, E2, E3 или E4, у вас есть 30 месяцев, чтобы пройти его.Если это начальная квалификация, и вы являетесь E6, E7, E8 или E9, то у вас есть 18 месяцев.Это то, что у меня есть, и это работает для переквалификации, но для всех остальных, независимо от ранга, это дает вам 30 месяцев.

Dinq Date: IIf([CommandData]![Requal or Initial]="R",DateAdd("m",12,[Start Date]),IIf([CommandData]![Requal or Initial]="I" And [CommandData]![Rank]="E1" Or "E2" Or "E3" Or "E4",DateAdd("m",30,[Start Date]),IIf([CommandData]![Requal or Initial]="I" And [CommandData]![Rank]="E5" Or "E6" Or "E7" Or "E8" Or "E9",DateAdd("m",18,[Start Date]),"")))

1 Ответ

0 голосов
/ 19 февраля 2019

Вы должны использовать правильный синтаксис для ИЛИ :

[CommandData]![Rank]="E1" Or [CommandData]![Rank]="E2" Or [CommandData]![Rank]="E3" Or [CommandData]![Rank]="E4"

или, короче:

[CommandData]![Rank] In ("E1", "E2", "E3", "E4")
...