使用 CreateGroupLevel 方法可以指定對報表中的數(shù)據(jù)進(jìn)行分組或排序時所基于的字段或表達(dá)式。Long 型。
expression.CreateGroupLevel(ReportName, Expression, Header, Footer)
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。
ReportName 必需 String 型。字符串表達(dá)式,用于標(biāo)識將包含新的分組級別的報表名稱。
Expression 必需 String 型。字符串表達(dá)式,用于標(biāo)識具以排序或分組的字段或表達(dá)式。
Header 必需 Integer 型。Integer 型值,用于標(biāo)識將有組頁眉的字段和表達(dá)式。如果 header 參數(shù)為 True (–1),則字段或表達(dá)式將有組頁眉;如果 header 參數(shù)為 False (0),則字段或表達(dá)式將沒有組頁眉。無法通過將該參數(shù)設(shè)為 True 來創(chuàng)建頁眉。
Footer 必需 Integer 型。Integer 型值,用于標(biāo)識與組頁腳相關(guān)的字段和表達(dá)式。如果 footer 參數(shù)為 True (–1),則字段或表達(dá)式將有組頁腳;如果 footer 參數(shù)為 False (0),則字段或表達(dá)式將沒有組頁腳。無法通過將該參數(shù)設(shè)為 True 來創(chuàng)建頁腳。
例如,假定正建立一個可為用戶提供字段選項(xiàng)的自定義向?qū)?,設(shè)計(jì)報表時可以用這種向?qū)峁┳侄斡糜诜纸M數(shù)據(jù)。根據(jù)用戶的選擇可以從創(chuàng)建的向?qū)е姓{(diào)用 CreateGroupLevel 方法來創(chuàng)建適當(dāng)?shù)慕M。
在設(shè)計(jì)一個使用數(shù)據(jù)組或總計(jì)來創(chuàng)建報表的向?qū)r,可以使用 CreateGroupLevel 方法。CreateGroupLevel 方法對指定字段或表達(dá)式中的數(shù)據(jù)進(jìn)行分組或排序,并且為分組級別創(chuàng)建組頁眉和/或組頁腳。
CreateGroupLevel 方法僅在報表“設(shè)計(jì)”視圖中才可用。
Microsoft Access 使用一個數(shù)組,GroupLevel 屬性數(shù)組,來追蹤為報表創(chuàng)建的分組級別。CreateGroupLevel 方法基于 expression 參數(shù)將一個新的分組級別添加到數(shù)組中。然后 CreateGroupLevel 方法返回代表新分組級別在數(shù)組中位置的索引值。排序或分組所基于的第一個字段或表達(dá)式的級別為 0,第二個為 1,依此類推。在一個報表中,最多可以有十個分組級別(0 到 9)。
當(dāng)同時將 header 與 footer 參數(shù)或兩者之一指定為 True 時,報表中的 GroupHeader 和 GroupFooter 屬性將設(shè)置為“是”,并創(chuàng)建組級頁眉和/或頁腳。
在創(chuàng)建完頁眉或頁腳之后,可以設(shè)置其他 GroupLevel 屬性:GroupOn、GroupInterval 和 KeepTogether。可以在 Visual Basic 中設(shè)置這些屬性,也可以通過單擊“報表設(shè)計(jì)”工具欄上的“排序與分組” ,在報表的“排序與分組”框中設(shè)置這些屬性。
注釋 如果向?qū)г谛碌幕颥F(xiàn)有的報表中創(chuàng)建分組級別,則必須在“設(shè)計(jì)”視圖中打開報表。
下面的示例在“訂單報表”報表的“訂購日期”字段上創(chuàng)建一個分組級別。要創(chuàng)建分組級別的報表必須在“設(shè)計(jì)”視圖中打開。因?yàn)?header 和 footer 參數(shù)設(shè)為 True (-1) ,因此該方法可以為分組級別創(chuàng)建了頁眉和頁腳。此后可以設(shè)置頁眉和頁腳的大小。
Sub CreateGL()
Dim varGroupLevel As Variant
' Create new group level on OrderDate field.
varGroupLevel = CreateGroupLevel("OrderReport", "OrderDate", _
True, True)
' Set height of header/footer sections.
Reports!OrderReport.Section(acGroupLevel1Header).Height = 400
Reports!OrderReport.Section(acGroupLevel1Footer).Height = 400
End Sub