如何制作Master-Detail主從報(bào)表,加快數(shù)據(jù)查詢&減少數(shù)據(jù)冗余
各種電子文檔有時(shí)似乎是無限的。然而,在實(shí)踐中,通常不能使用過多類型的文檔。
在電子報(bào)告中,最常見的文檔類型是一個(gè)簡單的列表。然后,有復(fù)雜的列表。復(fù)雜列表可以有許多變體,但主要的是“Main” - “subordinate”類型的報(bào)告。這種類型的本質(zhì)是在一對多方案中數(shù)據(jù)實(shí)體之間存在依賴關(guān)系。也就是說,主表中的一條記錄可以對應(yīng)于下級中的幾條記錄。在實(shí)踐中,它看起來像這樣:
主表中的條目包含類別的名稱、簡要說明和圖片。每個(gè)類別都包含特定產(chǎn)品。此示例僅顯示一個(gè)依賴項(xiàng)“Main” - “subordinate”。但是從屬表也可以有它的從屬表,然后它已經(jīng)是第二個(gè)連接的主要表。這種分層依賴性可以是任意多個(gè)。現(xiàn)在,在實(shí)踐中,讓我們考慮如何創(chuàng)建這樣的報(bào)告。
首先,我們需要一個(gè)數(shù)據(jù)源,其中將有兩個(gè)邏輯相關(guān)的表,如上例所示。
將數(shù)據(jù)源添加到報(bào)表中。在我們的例子中,將有兩個(gè)相關(guān)的表:
客戶和訂單。
在數(shù)據(jù)“Data”窗口中,它看起來像這樣:
現(xiàn)在我們需要鏈接這些表。為此,請單擊數(shù)據(jù)窗口中的操作“Actions”按鈕。下拉列表將打開:
您需要選擇新關(guān)系“New Relation”項(xiàng)。在關(guān)系編輯表單中,我們需要定義主表和從屬表,以及它們應(yīng)該鏈接的字段:
主表是“customer”,其主鍵是CustNo。從屬表是“orders1”,它的外鍵CustNo。成功創(chuàng)建連接后,我們將在數(shù)據(jù)窗口中看到它:
如您所見,orders1表中顯示了一條指向客戶的鏈接。如果您打開它,我們將看到customer表中的所有相同字段。
我們已經(jīng)準(zhǔn)備好了數(shù)據(jù),現(xiàn)在您需要?jiǎng)?chuàng)建一個(gè)報(bào)告模板。
默認(rèn)情況下,空白報(bào)告中提供單個(gè)波段數(shù)據(jù)。讓我們從客戶表中添加一些字段:customer.Company、customer.Addr1、customer.Phone、customer.Contact。我們將放置這些字段,以便獲得某張公司名片卡:
右鍵單擊波段標(biāo)題數(shù)據(jù)“Data”:
并選擇添加詳細(xì)數(shù)據(jù)段“Add detailed data band”選項(xiàng)。單擊配置數(shù)據(jù)段Configure bands...鏈接
并為Data2頻段添加標(biāo)題區(qū)。為此,請使用鼠標(biāo)選擇Data2波段,然后單擊添加“Add”按鈕。在下拉列表中,選擇標(biāo)題Header。
之后,您可以將orders1表中的字段添加到詳細(xì)的數(shù)據(jù)“Data”區(qū)域:orders1.OrderNo、orders1.SaleDate、orders1.AmountPaid。同時(shí)將自動(dòng)添加列標(biāo)題。格式化標(biāo)題,我們的模板幾乎準(zhǔn)備就緒:
雙擊“Data”頻段的標(biāo)題:
我們選擇客戶表作為數(shù)據(jù)源?,F(xiàn)在讓我們對詳細(xì)的數(shù)據(jù)“Data”頻段做同樣的事情:
現(xiàn)在我們的報(bào)告已準(zhǔn)備就緒。讓我們看看我們得到了什么:
產(chǎn)品介紹 | 下載試用 | 優(yōu)惠活動(dòng) | 在線客服