我正在尝试通过表单上的文本框过滤查询。我在查询的条件中有这个:
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
但是,如果文本框为空白,则它仅显示查询中在字段中有文本的数据。它不显示所有数据,即没有数据的字段。这可能吗?
我发现这样做的唯一方法是让 2 个查询 1 使用过滤器和 1 不使用过滤器并运行代码,如果文本框为空,则交换查询。
只需在字段中附加一个长度为零的字符串进行比较,那么所有字段都不会为空,因此它们将匹配 *.
WHERE MyField & ""
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
我目前没有可用的 Access 副本,但快速 google 和一些修修补补告诉我,这很可能满足您的需要:
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