在Crystal报表中逐行计数字符串

时间:2013-07-30 08:15:03

标签: c# sql crystal-reports crystal-reports-2010

我有Crystal Report,其情况如下。我想计算每行中出现“A”,“P”,“W”的数量。

如果任何行不包含上面那么它应该返回0(零)。如果该行包含在上面那么我应该计算它们。

请问,如何通过水晶报告计算每行中“A”,“P”,“W”的数字

report format

1 个答案:

答案 0 :(得分:1)

我有一个长期的解决方案,但这将有效。

应考虑以下方法: 1.字段数在报表中是常量,字段不是动态的。 2. A,P,W是硬编码值,应该在报告中使用,因为它们不应具有动态特性。

以下是代码: 1.在下面的代码中为所有文件创建公式我将其命名为a,a1,a1。 2.现在为“A”创建另一个公式,并在代码

下面实现
EvaluateAfter({@a});
EvaluateAfter({@a 2});
EvaluateAfter({@a 3});


    Local StringVar a;
    Local StringVar a1;
    Local StringVar a2;
    Local NumberVar i;
    Local NumberVar j;
    Local StringVar array x;
    a:={@a};
    a1:={@a 2};
    a2:={@a 3};
    x:=[a,a1,a2];
    j:=0;
    for i:=1 to Count(x) do
    (
    if x[i]="A"
    Then j:=j+1;
    );
    j

获取varialbes中的所有值并循环每个记录以获得计数。

将公式放在详细信息部分,您将得到结果。

让我知道任何问题。