Access 2007-Search Form не возвращает все значения из-за пустого поля. Кажется, что не найден LIKE, который соответствует

Прежде всего, спасибо за ваше время и жаль, если некоторые вопросы неясны, это мое первое сообщение здесь.

У меня возникла проблема с пользовательской формой поиска, которую я сделал на ACCESS 2007.

Вот моя база данных:

Дамп базы данных

Вот моя форма поиска:

форма поиска

Основная проблема, которую я испытываю, заключается в том, что всякий раз, когда я ввожу значения в firstname, lastername, address и т. Д., Он работает совершенно нормально.

Но как только я добираюсь до телефона, мобильного телефона или электронной почты, он не показывает мне «Флоренс Флуфло», потому что ее поля пусты для этих категорий.

Теперь я попытался в «Критерии» поля «Рабочий телефон»:

  • LIKE ""
  • LIKE "*" & [Forms]![frm_search]![WorkPhone1] & "*" OR "IsNull"
  • =" " OR =""
  • LIKE " "
  • LIKE "*"

Ничего не работает … и это довольно странно, потому что я сделал SQL и SQL-оператор выглядит отлично:

 SELECT CLIENTS.First_name, CLIENTS.Surname, CLIENTS.Address, CLIENTS.Suburb, CLIENTS.Postcode, CLIENTS.Home_phone, CLIENTS.Work_phone FROM CLIENTS WHERE (((CLIENTS.First_name) Like "*" & [Forms]![frm_search]![Firstname1] & "*") AND ((CLIENTS.Surname) Like "*" & [Forms]![frm_search]![LastName1] & "*") AND ((CLIENTS.Address) Like "*" & [Forms]![frm_search]![Address1] & "*") AND ((CLIENTS.Suburb) Like "*" & [Forms]![frm_search]![Suburb1] & "*") AND ((CLIENTS.Postcode) Like "*" & [Forms]![frm_search]![Postcode1] & "*") AND ((CLIENTS.Home_phone) Like "*" & [Forms]![frm_search]![HomePhone1] & "*") AND **((CLIENTS.Work_phone) Like "*" & [Forms]![frm_search]![WorkPhone1] & "*" OR (CLIENTS.Work_phone) Like ""))**; 

Если вы пишете "IsNull" (в кавычках), это будет считаться строкой. Итак, правильный способ проверить, является ли поле нулевым, будет таким, как это IS NULL Это означает, что все, что вам нужно сделать для вашей работы, это написать

 OR IS NULL 

после вашего заявления LIKE