2011-11-22 174 views
0

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

+0

我不确定你在问什么。我认为目前包装单是按订单号订购的。您是否在说要忽略订单号码,并仅从产品/物料代码(例如)开始。那么你会得到一个混乱的订单号码的订单,但是一个有序的产品/物品代码清单?或者你是否希望它仍然按照订单号的顺序排列,但是接下来按照产品/物料代码排序子报告中的数据? – vice

回答

2

首先,你可以完成这个报告不带子报表。该报告将按照订单#w /组头中的订单字段进行分组。详细信息部分将包含订单项。

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

如果您需要按每个订单的order-items [0](列表中的第一个项目)排序订单,则需要创建一个返回项目#的SQL表达式。如果您在SQL表达式字段中添加一个组,然后将其设置为顶级组(G1),报表将首先由SQL表达式分组,然后由Order#分组。 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# 
) 

如果你需要“第一项#”(这意味着什么)更复杂的规则,你需要将其包含在SQL表达式。