我正在尝试通过表单上的文本框过滤查询。我在查询的标准中有这个:
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
但是,如果文本框为空,则仅显示查询中的字段中包含文本的数据。它不显示所有数据,即没有数据的字段。这可能吗?
我发现这样做的唯一方法是使用过滤器进行2次查询,不使用1次,并运行代码,如果文本框为空,则交换查询。
答案 0 :(得分:2)
只需在字段中附加零长度字符串进行比较,然后没有字段为空,因此它们将匹配*。
WHERE MyField & ""
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
答案 1 :(得分:1)
我目前没有可用的Access副本,但快速谷歌和一些修补告诉我这可能会满足您的需求:
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
Or (Len(Nz([Forms]![Form_Name]![Textbox],"")) = 0 And Len(Nz([Column],"")) = 0)
来源:
http://bytes.com/topic/access/answers/607087-validation-if-null-empty-string http://office.microsoft.com/en-001/access-help/table-of-operators-HA010235862.aspx http://www.techonthenet.com/access/functions/advanced/nz.php