You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Crystal Reports多参数筛选语法求助:未输入参数时返回全部记录

Crystal Reports 参数筛选逻辑修正

你的公式问题出在:当参数未输入时,对应的If语句没有定义“未输入则允许所有记录”的分支,Crystal Reports中未匹配If条件时会默认返回False,导致多个参数组合时,只要有一个参数为空,整个筛选条件就会变成False,自然查不到记录。

正确的筛选公式应该是每个参数都处理“空参数返回全部”的逻辑,用**“参数为空 或者 参数匹配字段”**的结构,再用AND连接所有条件:

(ucase({?Program ID}) = '' OR {CD_CVR_SUMMARY.PROGRAM_ID} = ucase({?Program ID}))
AND
(ucase({?Subcon Category}) = '' OR {CD_CVR_SUMMARY.SUBCON_CATEGORY_1} = ucase({?Subcon Category}))
AND
(ucase({?Project Category}) = '' OR {CD_CVR_SUMMARY.PROJECT_CATEGORY_2} = ucase({?Project Category}))

逻辑说明

  • 每个括号内的条件:如果参数为空,直接返回True(不限制该字段);如果参数有输入,则匹配对应字段的大写值
  • 三个条件用AND连接,确保同时满足所有已输入参数的筛选要求

内容的提问来源于stack exchange,提问作者Jannette

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:03:11