admin

由于空白字段,Access 2007-搜索表单不会返回所有值-似乎找不到与之匹配的LIKE

sql

首先,感谢您的宝贵时间,如果某些问题不清楚,我们深表歉意,这是我在这里的第一条信息。

我在ACCESS 2007上制作的自定义搜索表单存在问题。

我遇到的主要问题是,每当我输入名字,姓氏,地址等值时,它就可以正常工作。

但是,一旦我开始使用电话,手机或电子邮件,它就不会显示“ Florence Fluflo”,因为她的字段在这些类别中为空白。

现在,我已经在“工作电话”字段的“条件”中尝试了以下操作:

  • 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 ""))**;

阅读 189

收藏
2021-07-01

共1个答案

admin

如果您写"IsNull"(用引号引起来),它将被视为一个字符串。因此,验证字段是否为空的正确方法是这样的,IS NULL 这意味着您需要做的就是编写

OR IS NULL

您的LIKE陈述后

2021-07-01