У меня есть поле в запросе, которое проверяет, как пользователь ввел дату в основной форме. Я пытаюсь сделать это как одну введенную дату, когда первое текстовое поле заполнено, и как диапазон дат, если конечная дата введена во второе текстовое поле. Поэтому, если текстовое поле конечной даты пусто, его следует игнорировать, и запрос должен выполняться так, как если бы выполнялась фильтрация только по определенной дате. Я использовал приведенное ниже выражение и ввел только начальную дату, поэтому он должен рассматривать поле как отфильтрованное только по 1 дате, а не по диапазону. Но запрос возвращает пустой. [Text0]
— это дата начала, а [Text3]
— дата окончания. Поле представляет собой поле даты задания, предназначенное для возврата номеров заданий либо с этой даты, либо из диапазона дат.
Пример: если [Text0]
установлено на 20.04.2015, а [Text3]
пусто, запрос должен вернуть номера заданий A-18, B-18 и C-18. Если [Text0]
установлено на 20.04.2015, а [Text3]
установлено на 27.04.2015, запрос должен вернуть A-18, B-18, C-18, D-19, E-19, F-19. Разница между -18 и -19 - это неделя, которой она соответствует.
=IIf((IsNull([Forms]![MainForm]![Text3])=True),[Forms]![MainForm]![Text0],Between [Forms]![MainForm]![Text0] And [Forms]![MainForm]![Text3])
Between
будет работать в том контексте, в котором вы его используете. - person Mark C.   schedule 30.04.2015job numbers
и почему они должны быть возвращены. - person Mark C.   schedule 30.04.2015Text3
пусто, ищет ли запрос все записи больше, чемText0
? Если да, то у меня есть решение, а если нет, то у меня тоже есть решение. - person Mark C.   schedule 01.05.2015[Text0]
. Использование только даты начала означает, что вы найдете вакансии только с этой конкретной датой. - person whatwhatwhat   schedule 01.05.2015