如果表单字段为空,则MS Access查询检查

时间:2012-10-10 13:25:09

标签: ms-access

我有一个多字段表单并用它来检索表的记录。如果字段中没有用户输入,我想允许相应列的“*”和Null值,否则用户输入。

我试过

Like IIf([Forms]![frm_searchForm]![Titel]="" Or IsNull([Forms]![frm_searchForm]![Titel]);Like "*" Or Is Null;[Forms]![frm_searchForm]![Titel])

以及

Like IIf(IsEmpty([Forms]![frm_searchForm]![Titel]);Like "*" Or Is Null;[Forms]![frm_searchForm]![Titel])

但在这两种情况下,IIf函数总是触发else表达式。 如何检查表单中的字段是否为空?没有VB,这甚至可能吗?

由于

1 个答案:

答案 0 :(得分:1)

AFAICT,当[Forms]![frm_searchForm]![Titel]包含值时,您只需要某些字段包含该值的行。

但是,如果[Forms]![frm_searchForm]![Titel]为空或空字符串,则需要检索所有行。

如果这是正确的,请尝试类似于此的WHERE子句:

WHERE
       Len([Forms]![frm_searchForm]![Titel] & '') = 0
    OR some_field Like '*' & [Forms]![frm_searchForm]![Titel] & '*'

还在SQL语句的开头添加PARAMETERS子句:

PARAMETERS [Forms]![frm_searchForm]![Titel] Text ( 255 );