Crystal reports 在组标题中显示详细信息

Crystal reports 在组标题中显示详细信息,crystal-reports,Crystal Reports,我想在一个组中获取所有的名字记录,并在组标题中显示它们。但是,我在正确重置变量时遇到问题。 到目前为止,我正在使用 @FirstName //this formula is in the details section global StringVar FirstName; If previous ({Customer.FirstName})<> ({Customer.FirstName}) Then FirstName:=""; FirstName := FirstName +

我想在一个组中获取所有的名字记录,并在组标题中显示它们。但是,我在正确重置变量时遇到问题。 到目前为止,我正在使用

@FirstName //this formula is in the details section
global StringVar FirstName; 
If previous ({Customer.FirstName})<> ({Customer.FirstName}) Then FirstName:="";
FirstName := FirstName + {customer.FirstName};
问题是组标题显示在错误的部分,
第一个组标题为空,然后第二个组标题显示第一个组的信息

StringVar FirstName; 
If previous ({Customer.FirstName})<> ({Customer.FirstName} then Then FirstName:="";
FirstName := FirstName + {customer.FirstName};
StringVar FirstName;
如果前面的({Customer.FirstName})({Customer.FirstName}),则FirstName:=“”;
FirstName:=FirstName+{customer.FirstName};

并把它放在你们的小组页脚。问题解决了。很抱歉第一次被误解了。

这样写公式

StringVar FirstName; 
If previous ({Customer.FirstName})<> ({Customer.FirstName} then Then FirstName:="";
FirstName := FirstName + {customer.FirstName};
StringVar FirstName;
如果前面的({Customer.FirstName})({Customer.FirstName}),则FirstName:=“”;
FirstName:=FirstName+{customer.FirstName};

并将其放在您的组页脚中。问题已解决。很抱歉第一次被误解。

您的问题源于以下事实:公式(以及全局变量的扩展值)在页面上从上到下求值。例如,第一个组标题为空,因为变量
FirstName
在任何详细信息节之前尚未分配任何值,因此没有
{@FirstName}的实例
已在该点进行了评估。为什么您需要在“详细信息”部分使用firstname公式。为什么您不能在组标题上使用firstname公式。实际上,我认为您可以使用上一个条件检查标题上的一个公式CompleteFirstName来完成所有操作。这样,您可以在每个组上构建字符串。这还可以添加回答Ryan建议的问题。这是假设Customer.FirstName是一个组。@惊人的是,报告是按另一个字段分组的,我想要组中名字的完整列表header@Ryan是否有其他方法来完成此任务???@Dmandy最简单的方法是更改报告的布局,以便您的组信息显示在改为组的页脚。如果这不是一个选项,您可以尝试使用SQL表达式连接每个组的所有名字;实际上,您将编写一个子查询来完成所有繁重的工作。类似地,您可以创建一个子报表来仅显示这一条数据。您的问题来自以下事实:(扩展为全局变量的值)在页面上从上到下进行计算。例如,第一个组标题为空,因为变量
FirstName
在任何细节部分之前尚未分配任何值,因此没有
{@FirstName}的实例
已在该点进行了评估。为什么您需要在“详细信息”部分使用firstname公式。为什么您不能在组标题上使用firstname公式。实际上,我认为您可以使用上一个条件检查标题上的一个公式CompleteFirstName来完成所有操作。这样,您可以在每个组上构建字符串。这还可以添加回答Ryan建议的问题。这是假设Customer.FirstName是一个组。@惊人的是,报告是按另一个字段分组的,我想要组中名字的完整列表header@Ryan是否有其他方法来完成此任务???@Dmandy最简单的方法是更改报告的布局,以便您的组信息显示在改为组的页脚。如果这不是一个选项,您可以尝试使用SQL表达式连接每个组的所有名字;实际上,您将编写一个子查询来完成所有繁重的工作。类似地,您可以创建一个子报表来仅显示这一条数据。不幸的是,这也不起作用。这将导致我将只对每个组计算一次,而不是对每个记录计算一次,因此您将丢失许多名称。我需要在我的组页眉而不是页脚中使用它。如果您抑制组页眉和详细信息部分,并且只显示组页脚,则页脚可以像组页眉一样工作。CR更容易以这种方式工作,而无需制作大的公式。我测试了这个解决方案对我创建的数据有效,所以我不知道问题出在哪里?不幸的是,这也不会起作用。这只会对每个组而不是每个记录进行一次计算,因此您将丢失许多名称。如果您抑制组头和详细信息部分,并且仅显示组页脚,然后页脚可以像组页眉一样工作。CR更容易以这种方式工作,而无需制作大公式。我在创建的数据上测试了此解决方案,它对我有效,所以不知道问题出在哪里?