使用 CreateGroupLevel 方法可以指定对报表中的数据进行分组或排序时所基于的字段或表达式。Long 型。
expression.CreateGroupLevel(ReportName, Expression, Header, Footer)
expression 必需。返回“应用于”列表中的一个对象的表达式。
ReportName 必需 String 型。字符串表达式,用于标识将包含新的分组级别的报表名称。
Expression 必需 String 型。字符串表达式,用于标识具以排序或分组的字段或表达式。
Header 必需 Integer 型。Integer 型值,用于标识将有组页眉的字段和表达式。如果 header 参数为 True (–1),则字段或表达式将有组页眉;如果 header 参数为 False (0),则字段或表达式将没有组页眉。无法通过将该参数设为 True 来创建页眉。
Footer 必需 Integer 型。Integer 型值,用于标识与组页脚相关的字段和表达式。如果 footer 参数为 True (–1),则字段或表达式将有组页脚;如果 footer 参数为 False (0),则字段或表达式将没有组页脚。无法通过将该参数设为 True 来创建页脚。
例如,假定正建立一个可为用户提供字段选项的自定义向导,设计报表时可以用这种向导提供字段用于分组数据。根据用户的选择可以从创建的向导中调用 CreateGroupLevel 方法来创建适当的组。
在设计一个使用数据组或总计来创建报表的向导时,可以使用 CreateGroupLevel 方法。CreateGroupLevel 方法对指定字段或表达式中的数据进行分组或排序,并且为分组级别创建组页眉和/或组页脚。
CreateGroupLevel 方法仅在报表“设计”视图中才可用。
Microsoft Access 使用一个数组,GroupLevel 属性数组,来追踪为报表创建的分组级别。CreateGroupLevel 方法基于 expression 参数将一个新的分组级别添加到数组中。然后 CreateGroupLevel 方法返回代表新分组级别在数组中位置的索引值。排序或分组所基于的第一个字段或表达式的级别为 0,第二个为 1,依此类推。在一个报表中,最多可以有十个分组级别(0 到 9)。
当同时将 header 与 footer 参数或两者之一指定为 True 时,报表中的 GroupHeader 和 GroupFooter 属性将设置为“是”,并创建组级页眉和/或页脚。
在创建完页眉或页脚之后,可以设置其他 GroupLevel 属性:GroupOn、GroupInterval 和 KeepTogether。可以在 Visual Basic 中设置这些属性,也可以通过单击“报表设计”工具栏上的“排序与分组” ,在报表的“排序与分组”框中设置这些属性。
注释 如果向导在新的或现有的报表中创建分组级别,则必须在“设计”视图中打开报表。
下面的示例在“订单报表”报表的“订购日期”字段上创建一个分组级别。要创建分组级别的报表必须在“设计”视图中打开。因为 header 和 footer 参数设为 True (-1) ,因此该方法可以为分组级别创建了页眉和页脚。此后可以设置页眉和页脚的大小。
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