Crystal Report:如何在if条件中使用'in'运算符
Crystal Report公式错误分析与修复
问题原因
- 语法错误:else分支里连续写了两个等号
{?@btype}={?@btype}={Sp_StockEndingInventory_Batches;1.BATCH_TYPE_},Crystal Reports的条件表达式不支持这种冗余写法,正确逻辑是直接判断参数和字段是否相等。 - 拼写错误:
NON-BACTHED存在拼写失误,正确写法应为NON-BATCHED(少了字母T),会导致无法匹配目标批次类型值。
修正后的公式
If {?@btype} = "All" then {Sp_StockEndingInventory_Batches;1.BATCH_TYPE_} in ("BATCHED", "NON-BATCHED") else {?@btype} = {Sp_StockEndingInventory_Batches;1.BATCH_TYPE_}
说明
- 调整else分支语法,改为直接对比参数
{?@btype}与字段{Sp_StockEndingInventory_Batches;1.BATCH_TYPE_}的相等性。 - 修正
NON-BACTHED的拼写错误,确保能正确匹配批次类型。 - Crystal Reports中字符串常量用双引号或单引号均可,这里统一用双引号保持格式一致。
内容的提问来源于stack exchange,提问作者Abie Alvarez
相关产品推荐
相关产品推荐

