Access 2007-搜索表单由于空白字段而未返回所有值--似乎找不到匹配的 LIKE
Posted
技术标签:
【中文标题】Access 2007-搜索表单由于空白字段而未返回所有值--似乎找不到匹配的 LIKE【英文标题】:Access 2007-Search Form does not return all values because of a blank field--Can't seem to find the LIKE that matches 【发布时间】: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 正在这样做!;))。
【参考方案1】:
如果你写"IsNull"
(引号),它将被视为一个字符串。因此,验证字段是否为空的正确方法是这样的IS NULL
这意味着你需要做的就是写
OR IS NULL
在您的 LIKE
声明之后
【讨论】:
以上是关于Access 2007-搜索表单由于空白字段而未返回所有值--似乎找不到匹配的 LIKE的主要内容,如果未能解决你的问题,请参考以下文章