第一范文网 - 专业文章范例文档资料分享平台

vfp4 (4)

来源:用户分享 时间:2020-06-21 本文由绿阴红影里 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

图4-10 “表设计器”对话框中的“索引”选项卡

例如,将索引名为XBNL的表达式改为“性别+学号”,方法如下。

单击索引名XBNL所在行,再单击该表达式右侧的按钮,弹出“表达式生成器”对话框,如图4-11所示。

图4-11 “表达式生成器”对话框

在“字段”列表框中双击“性别”,在“数学”组合框中选定“+”号,然后在“字段”列表框中双击“学号”,这时,“表达式”列表框中显示“性别+学号”。再将索引名改为XBXH,单击“确定”按钮,则完成修改工作。当然,也可以在“表达式”列表框中直接输入表达式“性别+学号”。

此时在命令窗口输入命令SET ORDER TO 3与BROWSE后,显示结果如图4-12所示。 利用“表设计器”对话框中的“插入”按钮可在当前行前插入一个空行,以供建立新索引。利用“删除”按钮可以删除选定的索引。

16

图4-12 关于“性别+学号”索引

4.3 简单的查询与统计命令

查询和统计是数据库应用的重要内容。查询就是按照给定的条件在表中查找所需要的记录。这里先介绍较简单的查询命令,即顺序查询和索引查询,而SQL型的查询命令将在第6章介绍。

在实际应用中,经常要对表中的数据进行统计计算。例如,统计记录条数,对数值型字段求和、求平均值,分类汇总等,因此本节后面将介绍几个常用的统计命令。

4.3.1 查询命令

1.顺序查询命令

顺序查询命令有LOCATE和CONTINUE两条命令,其格式如下:

LOCATE [范围] FOR条件 [WHILE 条件] CONTINUE

LOCATE命令的功能是查找满足条件的第一条记录,并将记录指针指向该记录。范围短语的默认值为ALL。查找到满足条件的第一条记录后,连续执行CONTINUE命令即可找到满足条件的其他记录。

【例4-16】 在表xsh中查找学号为980012的记录,所使用的命令如下:

USE e:\\vf\\xsh.dbf

LOCATE FOR 学号=\

DISP &&显示满足条件的第一条记录 CONTINUE &&查找满足条件的下一条记录

说明:执行完命令CONTINUE后,若在状态栏中显示“已到定位范围末尾”,则表示查找结束。

2.索引查询命令

索引查询要求表的记录是有序的,即需要事先对表进行索引或排序,查找速度快。而顺序查询对表的记录没有任何要求,查找速度较慢,仅适用于记录较少的表。

SEEK和FIND命令都可以用于索引查询,这里介绍使用灵活的SEEK命令,命令格式:

SEEK〈表达式〉

该命令的功能是查找索引关键字满足表达式值的第一条记录。如果找到,则将记录指针指向该记录;如果找不到,则在状态栏中显示“没有找到”的提示信息。

在使用SEEK、LOCATE和CONTINUE等命令进行查询时,如果找到,则函数FOUND( )的值为.T.,否则为.F.。

17

【例4-17】 SEEK命令用法示例。

USE e:\\vf\\xsh.dbf INDEX ON 姓名 TAG xm SEEK \李明义\

?FOUND ( ) &&显示.T.,表示找到 DISP &&显示记录内容 name=\张洋\SEEK name

?FOUND( ) &&显示.T.表示找到 DISP &&显示记录内容

SEEK \李\&&查找姓李的学生,不知道名字,称为模糊查询 ?FOUND( ) &&显示.T.,表示找到 DISP

SET EXACT ON &&设置完全匹配 SEEK \李\

?FOUND( ) &&显示.F.,表示找不到

SET EXACT OFF &&恢复模糊匹配,OFF为默认值

4.3.2 统计命令

1.计数命令 命令格式为:

COUNT [范围] [FOR条件] [WHILE条件] [TO内存变量]

该命令计算指定范围内满足条件的记录数。省略范围时是指表中的全部记录。统计得到的记录数通常显示在主窗口的状态栏中。如果使用了TO短语,则还可以将记录数存储在内存变量中,便于以后引用。

【例4-18】 COUNT命令用法示例。

USE E:\\vf\\xsh.dbf

COUNT TO n &&统计表中记录总数并存储在变量n中 COUNT FOR YEAR(出生日期)=1989 TO nl

&&统计1989年出生的学生人数并存储在变量n1中

?n1/n &&计算并显示1989年出生人数所占总人数的比例

2.求和与求平均值命令

求和与求平均值命令的格式相同、用法相似。命令格式为:

SUM | AVERAGE [字段名列表] [范围] [FOR | WHILE条件] [TO内存变量表 | ARRAY 数组]

SUM命令的功能是在当前表中,对数值型字段分别求和。

AVERAGE命令的功能是在当前表中,对数值型字段分别求平均值。

数值型字段的和(或平均值)依次存入内存变量表或数组中。省略字段名列表时,则对当前表中所有数值型字段分别求和(或分别求平均值)。

与COUNT命令一样,这两条命令中省略范围短语时,也是指表中的全部记录。 【例4-19】 计算表xsh.dbf学生的平均年龄。

USE xsh

18

LIST SUM TO s1 年龄 99.00

AVERAGE TO pj 年龄 19.80 USE

3.汇总命令

汇总命令用于对表中数据进行分类求和。例如,在职工工资表中按部门汇总工资,在全国运动会上按各省市汇总成绩等。命令格式为:

TOTAL TO 文件名 ON 关键字 [FIELDS 数值型字段表] [范围] [FOR | WHILE条件]

该命令的功能是在当前表中,分别对关键字相同的记录的数值型字段求和,并将结果存储在一个新表中。一组关键字相同的记录在新表中产生一条记录。对于非数值型字段,只将关键字相同的第一条记录的字段值存入该记录。

执行汇总命令的前提条件是表中记录必须是有序的,ON后的关键字是索引关键字或排序所依据的字段。FIELDS短语中的数值型字段表指出要汇总的字段,省略时表示对当前表中所有数值型字段进行汇总。省略范围时表示表中所有记录。

【例4-20】 在表xsh.dbf中按性别汇总年龄。

USE xsh

INDEX ON 性别TAG xb TOTAL ON 性别TO hj USE hj BROWSE

结果如图4-13所示。

图4-13 按性别汇总年龄

19

4.4 设置过滤器

有时需要执行多条命令,并且这些命令中的条件都是相同的。如果每条命令中都输入一次相同的条件,则十分繁琐。遇到这种情况,可以设置过滤器。

过滤器分为两种:记录过滤器和字段过滤器。记录过滤器可以将符合条件的记录留下来,将不符合条件的记录过滤掉(使它们在逻辑上消失,而不是在物理上消失)。操作完毕,取消过滤器便可恢复被过滤掉的那些记录。字段过滤器则可将指定的字段留下来,将其他字段过滤掉,在以后的命令中可以不再指定字段名,只对留下来的字段进行操作。

1.设置记录过滤器 命令格式:

SET FILTER TO[条件]

执行该命令可从当前表中过滤出符合指定条件的记录,随后的操作仅限于这些记录。省略条件时表示取消所设置的过滤器。

【例4-21】 记录过滤器应用示例。

USE xsh

SET FILTER TO 性别=\男\

LIST &&显示男生记录,不必再写条件FOR性别=\男\COUNT TO n

?n &&显示3

SET FILTER TO &&取消记录过滤器 LIST &&显示所有记录 USE

2.设置字段过滤器 命令格式:

SET FIELDS TO [字段名] ALL SET FIELDS ON|OFF

SET FIELDS TO命令用于为当前表设置字段过滤器,ALL表示所有字段。当用该命令设置字段过滤器时,SET FIELDS自动置ON,表示只能访问字段名表指定的字段。将SET FIELDS置OFF表示取消字段过滤器,恢复原来状态。

【例4-22】 字段过滤器应用示例。

USE E:\\vf\\xsh

SET FIELDS TO 姓名,性别,是否党员 LIST &&仅显示3个字段的数据

20

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新小学教育vfp4 (4)全文阅读和word下载服务。

vfp4 (4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1089230.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top