-
-
wyqmd 小试身手Lv3
发表于2019-1-25 13:23
悬赏1
未解决
楼主
各位老师们好
我写的过滤条件报错,原因在那儿呢?
IF(@p7177!="" & @p1874!="",XSJH.DOCDATE >= @p7177 & XSJH.DOCDATE <= @p1874,'1-1')
希望 当开始日期 与结束日期 变量不为空时才执行,任意变量为空.都不执行过滤条件.
我写的过滤条件报错,原因在那儿呢?
IF(@p7177!="" & @p1874!="",XSJH.DOCDATE >= @p7177 & XSJH.DOCDATE <= @p1874,'1-1')
希望 当开始日期 与结束日期 变量不为空时才执行,任意变量为空.都不执行过滤条件.



11个回答
本帖最后由 缱绻 于 2019-1-25 13:40 编辑
参数名称可以自己命名的,能不能改成一个比较好理解的名称啊?参数为空可以用len(@bbq)=0 这样去判断
缱绻 发表于 2019-1-25 13:34
参数名称可以自己命名的,能不能改成一个比较好理解的名称啊?参数为空可以用len(@bbq)=0 这样去判断
...
我知道变量可以重命名,这都不重要.
IF(len(@p7177)!=0 & len(@p1874)!=0,XSJH.DOCDATE >= @p7177 & XSJH.DOCDATE <= @p1874,'1-1')
也不是 len(@p7177)!=0 或 @p7177 != "" 的问题.
问题是 if为假的时候,执行 1-1 报错——
为假的时候,不执行筛选条件,应该怎么写?
计算浮动表元 GRID2->A4 (XSJH.GROUPNAME)时出错:“)”附近有语法错误。
wyqmd 发表于 2019-1-25 13:56
我知道变量可以重命名,这都不重要.
IF(len(@p7177)!=0 & len(@p1874)!=0,XSJH.DOCDATE >= @p7177 & XSJ ...
呃呃,,为什么要写‘1-1’啊,是'1=1'吧
缱绻 发表于 2019-1-25 14:11
呃呃,,为什么要写‘1-1’啊,是'1=1'吧
我找到问题了.
因为后面两个列的过滤条件,没有写IF——所以才靠成 '')''附近有错误.
''1-1'' 可以不用条件查询库表中的所有数据.
false 不执行查询,空结果.
都可以达到我想要的效果.
缱绻 发表于 2019-1-25 14:18
偶偶,所以不是这个过滤条件的问题啊。。
老师请教一下.
我想在表 单元格的过滤条件里写 like ,应该怎么写?没搞明白
if(@p9365!="",CKRK2.CARDCODE like %<#=@p9365#>%,"1=1" )