我有一个多字段表单并用它来检索表的记录。如果字段中没有用户输入,我想允许相应列的“*”和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,这甚至可能吗?
由于
答案 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 );