MSACCESS 返回 NULL 值,其中文本框 = "blank"
MSACCESS returning NULL values where textbox = "blank"
我有一个搜索查询 returns 来自文本框的值。我想将功能添加到 return 所有 Comments 为 null 或空的行。
我尝试编辑 SQL 以接受文本框中的 "blank" 和 return 所有注释为空的行。我只是将 OR 添加到代码的原始部分。
(((IIf(Nz([Forms]![Home]![CHOOSE_COMMENTS],"")="","",[WCL_DATABASE].[COMMENTS] Like [Forms]![Home]![CHOOSE_COMMENTS]))<>False)
或
((IIf(Nz([Forms]![Home]![CHOOSE_COMMENTS],"")="Blank","",[WCL_DATABASE].[COMMENTS] Like ""))<>False) )`
当我搜索 "blank" 时,我没有收到任何结果。
Null
和空字符串 (""
) 是两个不同的值。
我猜你会想要使用这样的东西:
select * from YourTable where
([Forms]![Home]![CHOOSE_COMMENTS] = "Blank" and [WCL_DATABASE].[COMMENTS] is null) or
([Forms]![Home]![CHOOSE_COMMENTS] is null) or
([WCL_DATABASE].[COMMENTS] like [Forms]![Home]![CHOOSE_COMMENTS])
这意味着:
- 如果用户键入 "Blank",则返回没有评论的记录。
- 如果用户将评论字段留空,则返回所有记录(无过滤器)。
- 否则评论是与用户条目匹配的通配符。
考虑在 LIKE
等式两边使用 NZ
来匹配 MISSING 等填充项。这将处理 NULL
个案例。要处理空字符串(zero-length 或仅限空白字符串),请在等式的一侧使用 NZ
,因为没有值的表单控件呈现为 NULL
。使用这两种方法,您都可以避免调用 IIF
。
以下应涵盖 NULL
个案例、non-missing 个案例和 empty-string 个案例。
WHERE NZ([WCL_DATABASE].[COMMENTS], 'MISSING')
LIKE '*' & NZ([Forms]![Home]![CHOOSE_COMMENTS], 'MISSING') & '*'
OR TRIM([WCL_DATABASE].[COMMENTS]) = NZ([Forms]![Home]![CHOOSE_COMMENTS], '')
我有一个搜索查询 returns 来自文本框的值。我想将功能添加到 return 所有 Comments 为 null 或空的行。
我尝试编辑 SQL 以接受文本框中的 "blank" 和 return 所有注释为空的行。我只是将 OR 添加到代码的原始部分。
(((IIf(Nz([Forms]![Home]![CHOOSE_COMMENTS],"")="","",[WCL_DATABASE].[COMMENTS] Like [Forms]![Home]![CHOOSE_COMMENTS]))<>False)
或
((IIf(Nz([Forms]![Home]![CHOOSE_COMMENTS],"")="Blank","",[WCL_DATABASE].[COMMENTS] Like ""))<>False) )`
当我搜索 "blank" 时,我没有收到任何结果。
Null
和空字符串 (""
) 是两个不同的值。
我猜你会想要使用这样的东西:
select * from YourTable where
([Forms]![Home]![CHOOSE_COMMENTS] = "Blank" and [WCL_DATABASE].[COMMENTS] is null) or
([Forms]![Home]![CHOOSE_COMMENTS] is null) or
([WCL_DATABASE].[COMMENTS] like [Forms]![Home]![CHOOSE_COMMENTS])
这意味着:
- 如果用户键入 "Blank",则返回没有评论的记录。
- 如果用户将评论字段留空,则返回所有记录(无过滤器)。
- 否则评论是与用户条目匹配的通配符。
考虑在 LIKE
等式两边使用 NZ
来匹配 MISSING 等填充项。这将处理 NULL
个案例。要处理空字符串(zero-length 或仅限空白字符串),请在等式的一侧使用 NZ
,因为没有值的表单控件呈现为 NULL
。使用这两种方法,您都可以避免调用 IIF
。
以下应涵盖 NULL
个案例、non-missing 个案例和 empty-string 个案例。
WHERE NZ([WCL_DATABASE].[COMMENTS], 'MISSING')
LIKE '*' & NZ([Forms]![Home]![CHOOSE_COMMENTS], 'MISSING') & '*'
OR TRIM([WCL_DATABASE].[COMMENTS]) = NZ([Forms]![Home]![CHOOSE_COMMENTS], '')