Visual FoxPro程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.1 排序

排序就是把表文件中的记录按照某个字段值的大小顺序重新排列,作为排序依据的字段称为“关键字段”。排序操作结果将生成一个新的表文件,表文件的结构和数据可与源文件完全相同,也可以是取自源文件的一部分字段。排序既可以按照关键字段值从小到大的顺序进行,也可以按照由大到小的顺序进行,前者称为升序,后者称为降序。数据大小的比较规则为:如果是数值型、日期型的数据进行比较,则由其本身的大小决定;字符型数据由其ASCII码值确定,汉字由机内码确定大小。

总之,排序是将表记录的顺序按指定的字段重新排列,生成一个新的表文件。

【命令格式】 SORT TO <文件名> ON <字段名1> [/A][/D][/C][,<字段名2>[/A][/D] [/C]…][范围][FIELDS <字段名表>][FOR/WHILE<条件>]

【功能】 对当前数据表中指定范围内满足条件的记录,按指定字段的升序或降序重新排列,并将排序后的记录按FIELDS子句指定的字段写入新的表文件中。

【说明】 选项A为升序,D为降序,若缺省A和D,则系统默认为升序。C为忽略大小写。排序后生成的新表文件是关闭的,使用时必须先打开。

【例3.1】 要求:①将TEACHER表记录按月收入升序排列,生成一个名为ATEACHER的表文件;②将TEACHER表记录按性别升序和月收入降序排列,生成BTEACHER表文件。

USE TEACHER
SORT TO ATEACHER ON 月收入
USE ATEACHER
LIST

显示结果如下。

USE TEACHER
SORT TO BTEACHER ON 性别/A,月收入/D
USE BTEACHER
LIST

显示结果如下。