【问题标题】:Access 2007-Search Form does not return all values because of a blank field--Can't seem to find the LIKE that matchesAccess 2007-搜索表单由于空白字段而未返回所有值--似乎找不到匹配的 LIKE
【发布时间】:2012-03-21 22:50:42
【问题描述】:

首先感谢您的宝贵时间,如果有些问题不清楚,很抱歉,这是我在这里的第一条信息。

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

【问题讨论】:

  • @ScottJShea:到目前为止编辑工作做得很好;不过,如果您认为这会改善帖子,请不要犹豫,为低声誉用户内联图片,请remove "thanks" 和类似的帖子。 (我不会为此拒绝,但其他人可能会。)谢谢!
  • @sarnold 感谢您的提示和 Meta 网站的链接
  • 不应该是OR (CLIENTS.Work_phone) IS NULL吗?上述查询中括号的数量之多令人麻木(是的,我知道 Access 正在这样做!;))。

标签: sql forms ms-access ms-access-2007


【解决方案1】:

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

OR IS NULL

在您的 LIKE 声明之后

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多