2011-11-22 260 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表達式。