Download presentation
Presentation is loading. Please wait.
1
授课-3 自由表操作(二) 3.1 表的基本操作(二) 3.2 数据统计操作
授课-3 自由表操作(二) 自由表的管理操作是本门课的重点之一。这里,我们继续学习自由表记录的追加、删除、排序等操作,然后介绍数据统计等有关操作。 3.1 表的基本操作(二) 3.2 数据统计操作
2
【任务(高新考试第8.8题) 】 C:\2006vfp\Unit8文件夹中的文件夹Y8-08复制到考生文件夹中,重命名为“X8-08”,并按以下要求完成操作。 本题要求使用命令方式完成各技能点的操作; 建立文本文件X8_08.txt,保存至文件夹X8-08; 本题操作完成后,将命令窗口中的全部操作命令复制至X8_08.txt并保存。 1、打开、浏览表(USE、BROWSE命令) 以独占方式打开表Y8_08.dbf; 浏览表、并要求显示在浏览窗口中的字段如样文8-08A所示。 2、导出为其它文件类型(COPY TO 命令) 把表Y8_08.dbf导出为“Microsoft Excel 5.0(XLS)”类型,到文件夹X8-08中,并命名为X8_08.xls。
3
样文8-08A 样文8-08B
4
把所有“中学代码”字段值为“1801”的记录替换为“3801”,结果如样文8-08B所示。
3、替换字段(REPLACE命令) 把所有“中学代码”字段值为“1801”的记录替换为“3801”,结果如样文8-08B所示。 4、记录的排序和筛选( SORT、SET FILT TO 命令) 将Y8_08.dbf中所有记录按“出生年月”字段升序、“序号”字段降序排序,生成新文件X8_08A.dbf到文件夹X8-08中; 筛选“性别”字段的值为“男”的记录,然后生成新文件X8_08B.dbf到文件夹X8-08中。 5、删除记录(DELETE、RECALL、PACK命令) 逻辑删除Y8_08.dbf中“中学代码”字段的值为“2003”的记录; 清除Y8_08.dbf中“性别”字段值为“女”的记录的删除标志; 物理删除带删除标记的所有记录。 主要操作: USE、BROWSE、REPLACE、SORT、SET FILT TO、DELE、RECA、PACK 等。
5
3.1 表的基本操作(二) 【学习目标】 使用命令完成表记录的追加、删除、筛选、排序等操作 【关键概念】
3.1 表的基本操作(二) 【学习目标】 使用命令完成表记录的追加、删除、筛选、排序等操作 【关键概念】 APPE、DELE 、SET FILT、SORT命令的格式 相关命令的用法
6
【授课】 3.1.1 追加记录 追加记录就是向表的末尾添加记录。 1. 交互操作方法
【浏览】窗口,选择【表】菜单【追加新记录】命令,即可在当前浏览的表最后记录的下面产生一个空白记录,供追加新记录。 将光标定位在各字段,输入完数据关闭窗口。 除此之外,【浏览】窗口,选择【显示】菜单中【追加方式】命令,出现追加新记录窗口后输入记录数据。 注意:【表】菜单【追加新记录】命令一次只能追加一个记录,而【显示】菜单【追加方式】命令一次可追加多个记录。 按 Ctrl+Y 也可以产生一个空白记录
7
2. APPE命令 (1)格式:APPEND [BLANK]
使用BLANK子句能在表末尾追加一条空白记录,留待以后添入数据。若缺省BLANK子句就会出现记录编辑窗口,窗口内有空白的记录等待用户输入数据。 成批加入(非常有用) (2)格式:APPE FROM 另一表名 [范围] [FOR 条件] [FIEL 字段表] 这就是所谓的“并运算”。注意:源表不用打开。 例:将J1 、J2并在一起,成为表JJ 。 COPY FILE J1.DBF TO JJ.DBF USE JJ APPE FROM J2 BROW USE
8
在“项目1”中创建程序2_2.PRG,保存在自己的夹中。使用数组方式在S2_2C.DBF中添加4条新记录,内容与该文件的最后一条记录相同。
在自由表添加记录: 在“项目1”中创建程序2_2.PRG,保存在自己的夹中。使用数组方式在S2_2C.DBF中添加4条新记录,内容与该文件的最后一条记录相同。 程序2_2.PRG清单: USE S2_2C GO BOTT SCAT TO AA APPE BLAN GATH FROM AA … (四遍) BROW USE 【相关知识. 数据传输】 格式:SCAT TO 数组变量名 [FIEL 字段表] 功能: 将表的一条记录存放在数组变量。 格式:GATH FROM 数组变量名 [FIEL 字段表] 功能: 将数组变量的数据回输到表的一条记录中。
9
3. INSE INTO命令 INSE INTO命令可直接在表尾追加一个新记录,并直接将提供的数据输入记录。 格式:INSERT INTO <表名>[(<字段名1>; [,<字段名2>,……])]; VALUES(<表达式1>[,<表达式2>,……]) 利用INSERT INTO命令追加记录时,源表不必事先打开,但是要求字段与表达式的类型必须相同。 例如: INSE INTO rsb(编号,姓名,性别,出生日期) VALUES ; ("0013","张兵","男",{^ }) 若字段名全部省略,就须按表结构的字段顺序添写VALUES子句的所有表达式。
10
【相关知识】 将.DBF文件导出为其它文件类型的方法 : 任务(高新考试第8.8题的第2点) 把表Y8_08.dbf导出为“Microsoft Excel 5.0(XLS)”类型,到文件夹X8-08中,并命名为X8_08.xls。(2分) USE Y8_08 COPY TO X8_08.XLS TYPE XL5 说明: (1)当前文件夹为X8-08。 (2)命令中须加类型子句,如: “TYPE XL5”
11
【授课】 3.1.2 删除记录 删除记录一般需要两步: • 加删除标记(逻辑删除); • 将带有删除标记的记录从表中删除(物理删除)。 1.对记录作删除标记(逻辑删除) 在【浏览】窗口单击该记录行最左的删除标记列,就会出现删除标记“■” 。 也可以使用下面的命令作删除标记。 格式: DELETE [范围] [FOR 条件] 功能:对当前表在指定[范围]内给符合条件的记录作删除标记。若可选项都缺省,只指当前记录。 注:DELETE()函数可以测试当前记录有没有删除标记。
12
2.清除删除标记 在【浏览】窗口单击记录的删除标记列,删除标记“■”消失即可。 或使用下面的命令去掉删除标记。 格式:RECALL [范围] [FOR 条件] 对当前表在指定[范围]内符合条件的记录去掉删除标记。若可选项都缺省只恢复当前记录。 [例如] 逻辑删除部门代码为“A01”记录,恢复所有职称为副教授的职工记录。 USE rsb DELE FOR RIGH(部门代码,3)="A01" LIST RECA FOR ALLT(职称)=“副教授”
13
3.删除带有删除标记的记录(物理删除) 在【浏览】窗口中,从【表】菜单中选择【彻底删除】。 或使用命令: 格式:PACK 功能:从表中将带有删除标记的记录物理删除。 [例如] 物理删除部门代码为“B02”的职工记录。 键入如下命令: USE rsb DELE FOR RIGHT(部门代码,3)="B02" LIST PACK
14
4.从表中删除所有记录 物理删除当前表中的所有记录,则可以使用如下命令 格式:ZAP 执行ZAP相当于执行DELE ALL和PACK两条命令,ZAP将影响当前表中的所有记录,慎用。
15
任务(高新考试第8.8题的第5点 ): 操作: dele for 中学代码=“2003” reca for 性别=“女” pack
删除记录(DELETE、RECALL、PACK命令) ● 逻辑删除Y8_08.dbf中“中学代码”字段的值为“2003”的记录; ● 清除Y8_08.dbf中“性别”字段值为“女”的记录的删除标志; ● 物理删除带删除标记的所有记录。 操作: use y8_08 dele for 中学代码=“2003” reca for 性别=“女” pack
16
3.1.3 排序 排序就是按表中的字段重新排列记录顺序。排序后生成一个新表,新表的记录按新的物理顺序排列。 格式:SORT ON <字段名1> [/ASC][/DESC][/C]; [,<字段名2> [/ASC][/DESC][/C]...]TO; <新表名> [范围] [FOR <条件>]; [WHILE <条件>][FIELDS <字段名清单> 功能:将当前数据表按指定的一个或多个字段进行排序,并将排序的结果保存到一个新的数据表中。 参数说明: /ASC表示升序排列(可省略); /DESC表示降序排列(可简写为 /D); /C表示不区分大小写字母
17
任务(高新考试第8.8题的第4点): 操作: 4.记录的排序和筛选:
将Y8_08.dbf中所有记录按“出生年月”字段升序、“序号”字段降序排序,生成新文件X8_08A.dbf到文件夹X8-08中; 筛选“性别”字段的值为“男”的记录,然后生成新文件X8_08B.dbf到文件夹X8-08中。 操作: use y8_08 sort on 出生年月,序号/d to x8_08a set filt to 性别=“男” copy to x8_08b
18
3.2 数据统计操作 【学习目标】 掌握数据统计的操作方法 【关键概念】 计数 字段求和、求平均 表达式统计 分类汇总
19
【授课】 3.2.1 统计记录数 格式:COUNT [TO <内存变量名>]; [<范围>][FOR<条件>][WHILE<条件>] 功能:统计表中指定范围内满足条件的记录个数。范围缺 省值为ALL,若无TO <内存变量名>,结果显示在 屏幕上。 [例4.6 (P103)]统计并显示RSB.DBF中教授或副教授的人数。 USE RSB COUN TO NUM FOR 职称=“教授”.or.职称=“副教授” ?NUM
20
数值字段纵向求和、求平均 格式:SUM|AVER [<范围>][FOR/WHILE<条件>]; [<数值分段名表>][TO <内存变量表>/; TO ARRAY<数组名>] 功能:对表中在指定范围内满足条件的记录,累加其指定的数值字段值(即按列求代数和)或计算其指定数值字段的算术平均值。 [例4.7(P103)]在GZJ.DBF要统计并显示所有教授的基本工资总和。 SUM 基本工资 TO TT FOR 职称=“教授” AVER 基本工资 TO TA FOR 职称=“教授” ?TT,TA
21
3.2.3 表达式统计 格式:CALC [TO <内存变量表>/TO ARRAY 数组名]; 表达式列表 [<范围>][FOR/WHILE<条件>] 功能:对一个表中的字段或由字段组成的表达式进行统计。 [例4.8 (P103)]求GZJ表中基本工资字段的平均值,最大值,最小值。 CALC TO ARRA A AVG(基本工资),MAX(基本工资),MIN(基本工资) ? A(1),A(2),A(3)
22
3.2.4 分类汇总 格式:TOTAL TO <新表名> ON [关键字]; [<范围>][FOR/WHILE <条件>][FIELDS <字段名表>] 功能:对表中指定范围内满足条件的记录,以指定的关键字段的不同值为类别,对指定字段分类求和,结果存储在指定的新表中。
23
常用对自由表进行操作的命令一览 SCAT TO BROW GATH FROM LIST 与 DISP COPY TO REPL
SORT TO TOTA TO COUN TO SUM TO CALC TO SET FILT TO 阅读P97—P107 BROW LIST 与 DISP REPL APPE 与 APPE FROM INSE 与 INSE INTO DELE RECA PACK
24
(2)清除记录中的删除标记,物理删除记录: RECA 、DELE 、PACK
【本课小结】 1. 使用命令完成各技能点的操作: (1)在表尾追加记录:APPE FROM 在表中增加记录: INSE (2)清除记录中的删除标记,物理删除记录: RECA 、DELE 、PACK (3)表记录的筛选与排序:SET FILT TO、SORT TO … 2. 使用命令完成有关统计的操作: (4)表记录计数:COUN TO (5)表纵向求和:SUM TO (6)表纵向统计(平均、最大、最小):CALC TO (7)表分类统计:TOTA TO 【作业】 计算机高新考试第8.8题 (上机3)。 返回本课目录
Similar presentations