Access 2003完整教程:关于对记录进行排序 (ADP)

本主题中的部分内容可能不适用于某些语言。

创建的排序类型取决于:是在从数据库检索前在服务器上排序记录,还是检索后在本地排序。排序还取决于您要创建排序的对象的类型。

在从数据库检索记录之前排序记录

在窗体、报表的“记录源”属性中使用视图、存储过程、用户定义函数或SQL 语句可以在服务器上排序记录。通过使用“排序类型”网格列或在查询的 SELECT 语句中包含 ORDER BY 子句,可以对记录进行排序。如果用这种方法指定排序次序,可执行复杂排序。这就意味着您可以对一些字段按照升序排序,而对其他字段按降序排序。每次查看存储过程、用户定义函数或 SQL 语句的结果时,将自动应用排序次序。当记录源为表时,若要对数据进行排序,必须使用本地排序技术。

在从数据库检索记录之后排序记录

在窗体的“窗体”视图中,表、查询或窗体的“数据表”视图中,数据访问页的“页”视图中,数据透视图视图中,以及在数据透视表视图中,可以在本地对记录进行排序。还可以通过在窗体“设计”视图中设置“排序依据”属性或在页“设计”视图中设置“默认排序”属性,在本地对记录进行排序。对于报表,可使用“排序与分组”框对记录组进行排序,或者,可通过在“设计”视图中设置报表的“排序依据”属性对所有记录排序。

在使用“排序”按钮时,可以进行简单的排序,这意味着您可以按升序或降序顺序对所有记录进行排序(但不能对多个字段使用一种不同的排序次序)。在直接设置“排序依据”或“默认排序”属性时,可以进行复杂排序,这意味着您可以对一些字段按照升序排序,而对其他字段按降序排序。Microsoft Access 保存在窗体、报表、数据透视表或数据透视图中指定的本地排序次序,并且在打开对象或视图时,会自动应用该排序次序。表、查询或页的本地排序次序是得不到保存的;但是,如果在打开已排序的表或查询时,通过这些表或查询创建窗体或报表,则新窗体或新报表会继承排序次序。

确定是在数据库检索前还是检索后排序

何时对记录进行排序这一选择会影响性能,甚至是排序操作的结果。一般来讲,应在从数据库检索记录前对记录进行排序,原因有二:通常数据库在服务器上要比在本地计算机上运行速度更快;SQL Server 的设计目的是有效地排序。您可能希望在从数据库检索记录后对记录进行排序,以便进行特殊分析,而且这样记录的数目就相对少一些。

排序结果可以变化

要知道,如果从数据库检索记录前对记录进行排序,其结果可能与在从数据库检索记录后再对记录进行排序而产生的结果不同。这是因为在从数据库检索记录后,排序次序由本地计算机的 Windows“控制面板”中的区域设置决定,而在从数据库检索记录前,排序次序由数据库所在的计算机(在 SQL Server 或 SQL Server 2000 Desktop Engine 安装时定义)上的设置决定。

关于在数据透视表视图或数据透视图视图中对数据进行排序

在数据透视表视图中

按升序或降序排序

例如,可以按升序对销售列进行排序或按降序对雇员姓名列进行排序。

也可以对每一列的数据单独进行排序。列的排序次序决定着数据的组织方式。

按两列对数据进行排序的示例

在该示例中,数据是按销售人员组织的。“产品”列是一级排序,使产品按字母顺序排序;“销售人员”列是二级排序。

当对多列进行排序时,首先确定想要对列排序的次序,然后从后向前,最后对最外层的列进行排序。例如,如果对两列进行排序,要确定哪个是外层列,哪个是内层列。先对内层列排序,再对外层列排序。若要对每个销售人员按字母顺序列出产品,则应先对内层“产品”列进行排序,然后对外层“销售人员”列进行排序。

定义自定义排序次序

当按升序或降序排序不能满足需要时,可以定义行字段或列字段的自定义排序。例如,可能需要显示“职务”列的值(而该列是按照职务高低排序的)。如果“职务”列有三个值(副总裁、总经理和经理),则升序或降序排序就不能按所需次序显示数据。这种情况下,需要明确定义“职务”列项的次序。

如果定义了自定义排序次序后再把项添加到字段中,则新增项将出现在字段的底部,直到重新排列为止。

在数据透视图视图中

在数据透视图视图中,可以按升序或降序对数值数据或字母数据排序。例如,可以对一个系列排序,该系列含有显示最高到最低销售额的销售数值。或者也可以对一个类别字段进行排序,该字段含有按升序 (A - Z) 显示的公司名。

下面的示例中,由销售额组成的系列字段,是按升序显示由最低到最高销售额的。如果类别字段已经按升序排序,则销售人员姓名将按字母顺序显示在分类轴上。

含有按升序排序的系列的图表

如果有一个堆积式的条形图表、面积图表或柱状图表,则可根据整个堆积值(而不仅仅是一个系列)的高度按数值顺序来排序。

上页:Access 2003完整教程:关于筛选 (ADP) 下页:Access 2003完整教程:在窗体中处理数据的方法

Access 2003完整教程:关于对记录进行排序 (ADP)

Access 2003完整教程:在窗体中处理数据的方法Access 2003完整教程:关于命令按钮
Access 2003完整教程:关于数据透视表窗体Access 2003完整教程:创建索引以快速查找和排列记录 (MDB)
Access 2003完整教程:关于过程Access 2003完整教程:关于属性表
Access 2003完整教程:关于子窗体Access 2003完整教程:关于主键 (MDB)
Access 2003完整教程:关于与 Access 一起工作的应用程序Access 2003完整教程:数据库对象的事件发生顺序
Access 2003完整教程:使用宏还是使用 Visual Basic?Access 2003完整教程:在查询和筛选中表达式的输入位置 (MDB)
Access 2003完整教程:在“数据表”或“窗体”视图中编辑字段数据疑难解答Access 2003完整教程:关于使用通配符
Access 2003完整教程:关于在查询中处理空字段 (MDB)Access 2003完整教程:关于使用 Visual Basic 代码处理数据和数据库对象
Access 2003完整教程:关于对记录进行排序 (MDB)Access 2003完整教程:打开报表快照
Access 2003完整教程:添加图片或对象Access 2003完整教程:显示或隐藏节
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号