在一个主窗体上有两个Text控件,分别为T_DateBegin和T_DateEnd,可以输入时间。要求,如果在T_DateBegin和T_DateEnd中输入了时间,就表明要查询在这两个时间之间的记录,如果没有输入任何内容,则查询全部时间的内容。这个查询语句容易出现这样的错误写法:
select * from Table_name where 时间 like iif(isnull(forms![综合查询窗口]![T_DateBegin]), ‘*’, between #[T_DateBegin]# and #[T_DateEnd]#)
这样的话,在语句执行到isnull判断,且为假时,就出现语法错误了。出现了like between的结构。
可以这样写:
select * from Table_name where 时间 iif(isnull(forms![综合查询窗口]![T_DateBegin]), like ‘*’, between #[T_DateBegin]# and #[T_DateEnd]#)