2

我正在尝试通过表单上的文本框过滤查询。我在查询的条件中有这个:

Like "*" & [Forms]![Form_Name]![Textbox] & "*"

但是,如果文本框为空白,则它仅显示查询中在字段中有文本的数据。它不显示所有数据,即没有数据的字段。这可能吗?

我发现这样做的唯一方法是让 2 个查询 1 使用过滤器和 1 不使用过滤器并运行代码,如果文本框为空,则交换查询。

4

2 回答 2

2

只需在字段中附加一个长度为零的字符串进行比较,那么所有字段都不会为空,因此它们将匹配 *.

WHERE MyField & "" 
Like "*" & [Forms]![Form_Name]![Textbox] & "*"
于 2013-02-18T15:50:46.760 回答
1

我目前没有可用的 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

于 2013-02-18T11:30:29.347 回答