基于公式

时间:2020-05-20 18:09:26

标签: crystal-reports

下午好,

我对Crystal Reports刚起步,所以不确定在哪里查找此信息,如果有人可以指出正确的方向或告诉我我的要求是否可行,将不胜感激。

我们的一个部门使用名为RecordChanges的字段来记录对记录所做的更改。该字段为文本,部门在其中存储有关更改日期和更改类型的信息,并以逗号分隔(我知道这效率极低,但这是我必须使用的方法)。我有一个Crystal Report,它可以分析此文本字段并获取对记录的最新日期和最新更改。我想修改此报告以包括对记录所做的 ALL 更改,因此,如果数据源的字段RecordChanges具有3个日期,则希望此记录在我的Crystal Report中出现3次。 ,每次进行的更改一次。如何解析我能弄清楚但卡住的字段,如何使记录出现的次数等于找到的日期数(即我的{@DateFound}字段)?

1 个答案:

答案 0 :(得分:0)

缺少详细信息,但据我了解的问题并假设您确实在评论中指出“订单的更改不会超过5个”,这是第一个尝试解决情况。

我将假定您已经有一个公式“解析此文本字段并获取对记录进行的最新日期和最新更改”。而且您知道如何调整此公式以获取每个记录更改。我将此公式命名为{@ Parser1}。

  1. 基于{@ Parser1},创建其他4个公式:{@ Parser2},{@ Parser3},{@ Parser4},{@ Parser5}。您可能会假设,必须更改每个公式才能解析记录更改的第N次。
  2. 创建5个详细信息部分。
  3. 将每个公式放在每个详细信息部分。
  4. 禁止明细部分的公式为null或为空。

就是这样。

限制是您最多可以进行5条记录更改。

这是一个尴尬的解决方案,但是(据我所知)这是必需的,因为Crystal Reports会根据您的数据行工作。它遍历行,但不能单独“生成”更多行。如果可以操纵数据源,则可以创建其他解决方案。

您仍然需要做魔术,以从文本中提取第N个更改。