Crystal Reports按子报表排序

时间:2011-11-22 15:04:39

标签: crystal-reports

所以我每天都有一系列订单。我们将它们添加到数据库中,然后使用Crystal Reports制作这些订单的包装表。我们有两个表,一个用于订单信息(名称,地址,订单号等),另一个用于项目。在Crystal Report中,我们使用报表的订单,然后使用与订单号关联的所有项目执行子报表。现在我已经被要求我们需要按照第一项的项目编号排序的所有订单。如何按子报表中的字段对报表进行排序?

1 个答案:

答案 0 :(得分:2)

首先,您可以使用子报表完成此报告。报告将按订单#w /组头中的订单字段进行分组。 “详细信息”部分将包含订单商品。

在任何情况下(我的方法或您的方法),如果只是需要按项目编号对订单项进行排序,只需在记录排序专家中引用该字段。

如果您需要按每个订单的order-items [0](列表中的第一项)对订单进行排序,则需要创建一个返回项目#的SQL表达式。如果在SQL表达式字段上添加组,则将其设为顶级组(G1),报表将首先按SQL表达式分组,然后按顺序#分组。 SQL表达式应该类似于:

(
//this will select the numerically-smallest item# for a given order#
SELECT min(item #)
FROM  order-items
//correlate to 'main' query
WHERE order#=order.order#
)

如果你需要更复杂的'first item#'规则(无论这意味着什么),你需要将它包含在SQL Expression中。