Проблема с поиском Access Query в диапазоне дат - PullRequest
0 голосов
/ 14 апреля 2019

У меня есть запрос, который ищет сохраненные записи и создает отчет на основе записей.Некоторые из полей доступны для поиска либо независимо, либо совместно с другими частями сохраненной записи (например, можно искать идентификатор, местоположение и / или получать уведомления от полиции).Однако при поиске по дате у меня возникают проблемы.

У меня есть поля для ввода пользователем даты начала и окончания желаемого диапазона дат.Когда поле ONE или NEITHER заполнено, поиск извлекает все записи ПОСЛЕ даты начала, ДО даты окончания или ВСЕХ записей.Когда ОБА поля заполнены, поиск выводит запись, где все поля не заполнены (чего нет в таблице).

Каждое поле поиска использует те же критерии в запросе:

Like Nz([field that you're searching],"*")

Но диапазон дат использует модифицированную версию (извините, если она СУПЕР-неуклюжая):

Like Nz(([Data_Input_Table].[Day_Current])>=[Forms]![Search_Form]![Start_Date_Lookup_text] And ([Data_Input_Table].[Day_Current])<=[Forms]![Search_Form]![End_Date_Lookup_text],"*")

В идеале, я бы хотел, чтобы пользователь выполнял поиск по NEITHER, ONE или BOTH Дата начала и Дата окончания.

Пожалуйста, помогите!

1 Ответ

0 голосов
/ 14 апреля 2019

Вы не можете использовать лайк на датах. Попробуйте это:

[Data_Input_Table].[Day_Current] >= Nz([Forms]![Search_Form]![Start_Date_Lookup_text], [Data_Input_Table].[Day_Current]) And [Data_Input_Table].[Day_Current] <= Nz([Forms]![Search_Form]![End_Date_Lookup_text], [Data_Input_Table].[Day_Current])
...