【问题标题】:SPLIT Error From Null Data来自空数据的 SPLIT 错误
【发布时间】:2018-05-14 18:07:44
【问题描述】:

我在从我们数据库中的角色用户字段之一拆分数据时遇到问题。我们在字段中输入的数据示例如下:

abc-123-456; abc-789; 1234567; abcdefghi

我想在每次有 ; 时拆分数据 我创建了 4 个公式并将它们放在报告标题中:

Split({STANDARD.CUSER6}, ";") [1]
Split({STANDARD.CUSER6}, ";") [2]
Split({STANDARD.CUSER6}, ";") [3]
Split({STANDARD.CUSER6}, ";") [4]

我也试过这样的公式:

if isnull({STANDARD.CUSER6}) then ""
else
split({STANDARD.CUSER6},";") [1]

当角色用户字段中有 4 个“组”数据时,这很有效,但任何时候我收到的数据都没有或少于 4 个“组”

下标必须介于 1 和数组大小之间。

新报告写作,所以我不确定我是否应该使用拆分公式或其他东西。

感谢所有反馈!

【问题讨论】:

    标签: sql arrays syntax split crystal-reports


    【解决方案1】:

    您可以使用UBound-函数来获取最高的数组索引:

    公式应如下所示:

    第 1 组

    If UBound(Split({STANDARD.CUSER6}, ";")) > 0 Then
        Split({STANDARD.CUSER6}, ";")[1]
    Else
        ""
    

    第 2 组

    If UBound(Split({STANDARD.CUSER6}, ";")) > 1 Then
        Split({STANDARD.CUSER6}, ";")[2]
    Else
        ""
    

    第 3 组

    If UBound(Split({STANDARD.CUSER6}, ";")) > 2 Then
        Split({STANDARD.CUSER6}, ";")[3]
    Else
        ""
    

    第 4 组

    If UBound(Split({STANDARD.CUSER6}, ";")) > 3 Then
        Split({STANDARD.CUSER6}, ";")[4]
    Else
        ""
    

    注意:(数组索引在 Crystal Reports 中从 1 开始,而不是 0。)

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 2014-11-18
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2018-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多