在WHERE Clause of SQL中编写IF THEN语句

时间:2014-08-01 15:45:37

标签: sql ms-access

我正在Access中为我的数据库编写一个搜索表单。我想要一个包含5个字段的表单进行搜索。如果在该领域有某些东西,它需要在这些参数内搜索 - 否则需要忽略该字段。这是我现在正在使用的东西,但是我无法让它工作。要搜索的字段类型为1.组合框2.日期范围

Select *
From NLog
Where
If [Forms]![Search]![Textbox1] > 0 THEN [Forms]![Search]![Textbox1] = Nlog.CoNo
Else Conintue

谢谢!

2 个答案:

答案 0 :(得分:2)

只需使用常规逻辑:

Select *
From NLog
Where ([Forms]![Search]![Textbox1] <= 0 OR [Forms]![Search]![Textbox1] = Nlog.CoNo);

注意:这假定[Forms]![Search]![Textbox1]不是NULL。如果可能,您可以使用显式逻辑或NZ()函数来处理。

答案 1 :(得分:0)

如果您阅读here,您可以看到材料禁令(IF-THEN)可以转换为析取(OR)。所以在你的情况下你会有:

NOT [Forms]![Search]![Textbox1] > 0 OR [Forms]![Search]![Textbox1] = Nlog.CoNo