access中窗体查询同样的语句只有一个能正常查询!

我建了一个主窗体和子窗体,子窗体的记录源是一个名为“条件查询”的查询。“条件查询”又是基于另一个“查询”和表建立的。我在主窗体中设了输入查询条件的文本框,有姓名、身份证号、地址等。我在“条件查询”中设置了姓名的模糊查询条件:
Like IIf(IsNull([Forms]![条件查询]![姓名]),'*',[Forms]![条件查询]![姓名] &'*')测试了可以正常查询,但我用同样的语句设置地址:
Like IIf(IsNull([Forms]![条件查询]![地址]),'*',[Forms]![条件查询]![地址] &'*')就不能查询了,包括身份证查询。
我还设置了时间的查询:
Between (IIf(IsNull([Forms]![条件查询]![办理起始时间]),#2011-01-01#,[Forms]![条件查询]![办理起始时间])) And(IIf(IsNull([Forms]![条件查询]![办理截止时间]),#2099-12-31#,[Forms]![条件查询]![办理截止时间]))一个一个的测试都不行,只有姓名查询可以用。请教高手这是怎么回事?是哪个环节出现了问题?

在窗体下最好用代码控制来查询,如一个文本框和一个按钮,按钮是查询代码,文本框是查询内容。Access强大之处就是能用灵活的代码控制。另外,iif语句只适合在文本框内来源条件,空内容会致使查询失败,查询时要排除空值,否则就会出错。

追问

谢谢你!

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-12-06

你试试把isnull改成 isempty

并赠送你个小例子,你自己琢磨琢磨,里面有好几种你需要的查询的例子

再核对一下控件、字段的名称是不是正确啊!

本回答被提问者采纳
相似回答