Форма MS Access для запроса с диапазоном дат (и даже без) - PullRequest
1 голос
/ 28 мая 2020

Я новичок в Access, и я создаю базу данных здесь, на работе, чтобы регистрировать всю проделанную работу. Мне удалось создать форму запроса с критериями между диапазоном дат, условием, номером детали и заказом на работу. Используя код в построителе выражений, это то, что помещается в критерий:

Диапазон дат: Between [Forms]![Form Query]![BeginDate] And [Forms]![Form Query]![EndDate]

Номер детали: Like (IIf(IsNull([Forms]![Form Query]![Part Number]),"*",[Forms]![Form Query]![Part Number]))

Условие: Like (IIf(IsNull([Forms]![Form Query]![Condition]),"*",[Forms]![Form Query]![Condition]))

Здесь, даже если номера деталей и условия пусты, запрос отобразит все записи. Моя проблема заключается в диапазоне дат, если я оставлю его пустым (скажем, я просто хотел запросить все записи), он вернется с нулевым значением. Я хотел упростить для пользователя: если я оставлю диапазон дат пустым, он все равно будет показывать все записей. Мне пришлось временно установить диапазон дат, чтобы всегда возвращать результаты.

Форма запроса

Критерии запроса

Все вход приветствуется! Большое вам спасибо!

1 Ответ

0 голосов
/ 28 мая 2020

Укажите альтернативное значение, если дата не введена:

Between Nz([Forms]![Form Query]![BeginDate], #1/1/1900#) And Nz([Forms]![Form Query]![EndDate], #12/31/2200#)

Для текстовых полей, предполагая, что значение уникально и никогда не является частью более длинной строки, критерии LIKE могут просто объединить подстановочный знак :

LIKE [Forms]![Form Query]![Part Number]) & "*"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...