2

我正在使用 Crystal Reports,我有这样的输出:

     NumberId         ART_No          InkColor
     ------------------------------------------
     0010             23003             BLUE
     0010             23003             RED
     0010             23003             GREEN
     0013             23004             ORANGE
     0013             23004             PINK
     0013             23004             WHITE
     0015             23007             GREEN
     0015             23007             PINK

即使不使用 SQL 脚本,有什么方法可以使输出(在 Crystal Reports 中)像这样:

     NumberId         ART_No          InkColor
     ------------------------------------------
     0010             23003             BLUE, RED, GREEN
     0013             23004             ORANGE, PINK, WHITE
     0015             23007             GREEN, PINK

谢谢

4

1 回答 1

2

你需要做一些事情来实现这一点。

  1. NumberId.

  2. 抑制组标题。

  3. 创建一个公式字段;我们会调用它@ColorReset。它应该包含以下代码:

    同时打印记录;
    stringVar 颜色 := "";
    

    将其放在您的组标题中。Colors每次点击 Group Header 时,这将重置stringVar。

  4. 抑制细节部分。

  5. 创建另一个公式字段;我们会调用它@ColorAppend。它应该像这样连接值:

    同时打印记录;
    stringVar 颜色 := 颜色 + ", " + {YourTable.InkColor};
    

    将其放在您的详细信息部分。这将在每次详细信息部分循环时构建您的颜色字​​符串。

  6. 再创建一个 FormulaField 来显示颜色,名为@ColorsShow. 它将显示如下颜色:

    同时打印记录;
    字符串变量颜色;
    
    右(颜色,LEN(颜色) - 2);// 去掉前面的逗号和空格
    

    将它放在您的组页脚中,NumberId以及ART_No


您的最终结果应该是:

---------- Group Header 1 ----------
/////////// @ColorReset ////////////

------------- Details --------------
////////// @ColorAppend ////////////

---------- Group Footer 1 ----------
[NumberId] [ART_No] [@ColorsShow]

它看起来有点吓人,但它非常简单。

于 2013-02-05T15:30:57.677 回答