Crystal Reports - 我的公式有效,但是当在多个子报表中重复时,所有记录都会消失

时间:2011-08-12 19:33:36

标签: string crystal-reports formula

我不是开发人员,但我应该由CR创建一份报告,如果对你来说这是一个显而易见的问题,请原谅我,请记住我是一个真正的初学者。

我的工作由3种不同的工作组成(5种中有3种,这是我可以为工作提供的最大工作量)。 在我的SQL数据库中,与这些工作方式对应的table.field是job.phase,所以当我在报告详细信息中输入“job.phase”字段时,我得到3行用于该工作。

关键是我的报告打印输出总是必须显示5个不同的文本对象(一个在另一个之下),对应于所有5个可能的table.field记录的描述,并且文本旁边应该出现“X”当列出的每一个工作都是我工作的一部分时(不会出现任何内容)。

我所做的是以下内容: - 创建了一个包含“job.phase”字段的子报表 - 把它放在我的第一个文本对象附近 - 在我的子报表中指定以下“show string”公式:   如果job.phase ='working1',那么'X'不然'' 并且它有效:如果working1是我工作的一部分,则会出现X,如果working1不属于我的工作,则不会出现任何内容。 然后我创建了4个子报表,等于第一个子报表,并为job.phase = working2,working3,working4和working5, BUT 指定了相同的子报表,在这之后,没有显示X(甚至虽然工作1,2和3是我工作的一部分)...

请问有谁可以帮助我吗?这太令人沮丧......

1 个答案:

答案 0 :(得分:1)

对于这样的事情使用子报告对于你正在尝试做的事情来说是过度的,并且可能导致任何数量的事情表现得很糟糕。我建议你放弃这个想法。我就是这样做的:

您要做的第一件事就是按工作分组(如果您的报告中会出现多个,我会假设它会出现)。您可以在“组页脚”部分显示标签和X.您需要像if {job.phase} = "working1" then "X"之前一样创建5个公式,每个阶段/工作一个。将所有这5个公式放入报告的“详细信息”部分,然后禁止整个部分,使其不显示。

要显示X,您可以在组页脚中为您创建的五个公式中的每一个使用最大摘要。要执行此操作,请依次右键单击每个公式,选择“插入” - >摘要。选择最大值作为摘要,选择“组1”(您的作业ID或用于分组作业的任何字段)作为位置。这将在组页脚中插入一个字段,该字段将在为作业指定特定工作时显示X,否则它将不显示任何内容。将它们移动到相应的标签/文本字段旁边,然后就完成了。