5.4 報表排序和分組
缺省情況下,報表中的記錄是按照自然順序,即數(shù)據(jù)輸入的先后順序排列顯示的。在實際應用過程中,經(jīng)常需要按照某個指定的順序排列記錄數(shù)據(jù),例如按照年齡從小到大排列等,稱為報表“排序”操作。此外,報表設計時還經(jīng)常需要就某個字段按照其值的相等與否劃分成組來進行一些統(tǒng)計操作并輸出統(tǒng)計信息,這就是報表的“分組”操作。
5.4.1 記錄排序
使用“報表向?qū)А眲?chuàng)建報表時,操作到如圖5.13所示步驟時,會提示設置報表中的記錄排序,這時,最多可以對4個字段進行排序!皥蟊硐?qū)А敝性O置字段排序,除有最多一次設置4個字段的限制外,排序依據(jù)還限制只能是字段,不能是表達式。實際上,一個報表最多可以安排10個字段或字段表達式進行排序。
例5.8 在“教師信息表”報表設計中按照教師“工作時間”由早到晚進行排序輸出。具體操作過程如下:
(1)使用“設計”視圖打開報表,在“視圖”菜單中選擇“排序與分組”選項或單擊工具欄上的“排序與分組” 按鈕打開“排序與分組”對話框,如圖5.38所示。
(2)在“排序與分組”對話框中,選擇第一排序依據(jù)及其排序次序(升序或降序);這里,單擊“字段/表達式”列的第一行并選擇第一排序字段為“工作時間”,設置“排序次序”列的值為“升序”。如果需要可以在第二行設置第二排序字段,依此類推設置多個排序字段。在報表中設置多個排序字段時,先按第一排序字段值排列,第一排序字段值相同的記錄再按第二排序字段值去排列,依此類推。
(3)單擊工具欄上的“打印預覽”按鈕,對上述排序數(shù)據(jù)進行預覽,如圖5.39所示;最后保存報表。
5.4.2 記錄分組
分組是指報表設計時按選定的某個(或幾個)字段值是否相等而將記錄劃分成組的過程。操作時,先要選定分組字段,將字段值相等的記錄歸為同一組,字段值不等的記錄歸為不同組。通過分組可以實現(xiàn)同組數(shù)據(jù)的匯總和輸出,增強了報表的可讀性。一個報表中最多可以對10個字段或表達式進行分組。
例5.9 實現(xiàn)圖5.4所示報表設計對學生成績進行分組統(tǒng)計。操作步驟如下:
(1)首先,通過“設計”視圖建立如圖5.40所示的“學生選課成績匯總表”。
(2)“視圖”菜單中選擇“排序與分組”選項或單擊工具欄上的“排序與分組”按鈕,彈出“排序與分組”對話框。單擊對話框中“字段/表達式”列的第一行,選擇“編號”字段作為分組字段,保留排序次序為“升序”。
(3)設置“排序與分組”對話框下部的分組屬性!敖M頁眉”屬性設置為“是”以顯示組頁眉節(jié);“組頁腳”屬性設置為“是”以顯示組頁腳節(jié);“分組形式”屬性設置為“每一個值”以“編號”字段的不同值劃分為;“組間距”屬性設置為“1”以指定分組的間隔值;“保持同頁”屬性設置為“不”以指定輸出時組頁眉、主體和組頁腳不在同一頁上;若設置為“整個組”則組頁眉、主體和組頁腳會輸出在同一頁上。此時,“排序與分組”對話框顯示狀態(tài)如圖5.41所示。
“分組形式”屬性由分組字段的數(shù)據(jù)類型決定,具體見表5.2所示。
(4)設置完屬性后,會在報表中添加組頁眉和組頁腳兩個節(jié)區(qū),分別用“編號頁眉”和“編號頁腳”來標識;將主體節(jié)內(nèi)的“編號”和“姓名”兩個文本框移至“編號頁眉”節(jié),并設置其格式:字體為“宋體”,字號為11磅。
分別在“編號頁腳”節(jié)和報表頁腳節(jié)內(nèi)添加一個“控件源”為計算成績平均值表達式的綁定文本框及相應附加標簽;在“頁面頁腳”節(jié),添加一個綁定文本框以輸出顯示報表頁碼信息。如圖5.42所示。
(5)單擊工具欄上的“打印預覽”按鈕,對上述排仔數(shù)據(jù)進行預覽,分組顯示和統(tǒng)計的效果即為圖5.4所示。報表命名保存。
對已經(jīng)設丑排序或分組的報表,可以在上述排序或分組設置環(huán)境里進行以下操作:添加排序、分組字段或表達式,剛除排序、分組字段或表達式,更改排序、分組字段或表達式。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |