if-statement - Crystal Reports 条件文本输出
问题描述
示例我被要求编写一个公式,如果订单上的项目编号为某个值,则该公式将有条件地在单个字段上显示文本。
因此,如果订单上的任何商品与以下值匹配:
>{oeordlin_sql.item_no} = '022471-2000'
>{oeordlin_sql.item_no} = '142846-003'
>{oeordlin_sql.item_no} = '202522-2000'
>{oeordlin_sql.item_no} = '022468-2000'
>{oeordlin_sql.item_no} = '022471-2000'
>{oeordlin_sql.item_no} = '202522-2010'
>{oeordlin_sql.item_no} = '202258-01'
>{oeordlin_sql.item_no} = '142845-002'
>{oeordlin_sql.item_no} = '142847-20204'
>{oeordlin_sql.item_no} = '142848-01402'
>{oeordlin_sql.item_no} = '142848-01408'
>{oeordlin_sql.item_no} = '142849-001'
然后返回一个文本行,上面写着“需要 VI 级认证”,否则不应打印任何内容。
目前我有:
If {oeordlin_sql.item_no} = '022471-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142846-003'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202522-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '022468-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '022471-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202522-2010'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202258-01'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142845-002'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142847-20204'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142848-01402'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142848-01408'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142849-001'
Then "Class VI certificate Required"
else ""
这在一定程度上有效,但它会为每个部分生成额外的页面,报告应该是单页。如果任何部件号匹配而不为每个部件生成一个新页面,我怎样才能让它打印出单页上的文本字段?
解决方案
我能够通过使用编辑公式来实现这一点:
If {oeordlin_sql.item_no} = '022471-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142846-003'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202522-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '022468-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '022471-2000'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202522-2010'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '202258-01'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142845-002'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142847-20204'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142848-01402'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142848-01408'
Then "Class VI certificate Required"
else if {oeordlin_sql.item_no} = '142849-001'
Then "Class VI certificate Required"
else "suppress"
然后选择专家:并将@Class VI Cert 设置为“不等于'抑制'”
然后格式字段:如果重复则抑制
推荐阅读
- javascript - 如何删除选定的输入值
- gradle - 在进行 Gradle Clean 构建时在 Spring Boot 应用程序中收到警告
- android - 如何使用 pybluez 构建 Android 蓝牙服务器应用程序处理从 Raspberry Pi 发送的数据
- node.js - npm 安装权限被拒绝 (macOS)
- tensorflow - Tensorflow - 如果主要更新偏差有什么问题?
- java - 编写 SharedPreferences 后更新布局?
- java - Callable 不会从类中返回任何内容
- javascript - 获取 svg 路径中的 tang 点
- vba - VBA 代码不限于指定列
- r - 在子字符串及其第一次出现之前删除部分字符串