江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2001年(秋)Visual FoxPro上机

2001年(秋)江苏省等级考试上机试卷
二级 Visual FoxPro (VFP03)

(本试卷上机考试时间为70分钟)

说明:1.考试语言环境为Visual FoxPro 5.0/6.0
     2.运行考试软盘A中的“上机考试”应用程序文件以输入考生的准考证号、姓名、试卷代号。
     3.启动VFP系统后,首先在命令窗口中执行命令:
      set default to A:
     以设置默认的工作目录,然后再开始作题。

一、项目、数据库和表操作

打开软盘根目录下的项目文件TESTC,在该项目文件中已存在一个数据库SJK,根据下列要求在项目中完成有关数据库及表的操作。
1. 对XS表进行如下操作:
(1) 将XS表中的ZP字段的标题设置为"照片";
(2) 将XS表中JP字段的默认值为"江苏";
(3) 添加一个字段:tc,宽度为20字节,类型为字符型;
(4) 创建一个名为xc的普通索引,要求按照性别(xb)和出生日期(csrq)升序排列;
(5) 已知学号的前两位数字表示学生的入学年份,为防止尚未毕业的学生记录被删除,必须删除的条件为: 当前年份比入学年份大5,设置XS表相应的删除触发器.
2. 已知XS表已按xh 字段建立主索引,索引名为xsxh,CJ表已按xh 字段建立普通索引,索引名为cjxh,试基于xh 建立XS表与CJ表的永久性关系.
3. 修改XSB表中的记录数据: 修改所有记录的xh字段(学号)的值,若学号以"9"字符开头,则在其前插入"19",若以"0"开头,则在其前插入"20".
4. 已知JS表和RK表已按gh 建立永久性关系,设置两个表之间的参照完整性规则: 删除限制。

二. 设计查询
1. 在TESTC项目中已存在查询chaxuna,利用查询设计器基于JS表(教师)按如下要求设计查询:

查询各系男女教授的人数,输出字段为:ximing,xb,人数,查询结果按ximing 排列.

2. 在TESTC项目中已存在查询chaxunb,SJK数据库中有一视图VZYCJ,该视图显示了学生的各课成绩以及学生所属专业名称。基于KC表和VZYCJ视图按如下要求设计该查询:

查询各课程各专业的最高分和最低分。要求输出字段为: kcm,所属专业,最高分,最低分.查询结果按课程名(kcm)和所属专业的升序排列,查询结果的输出去向为临时表tmp.

三. 设计菜单
TESTC项目中已存在菜单MENUC,利用菜单设计器按如下要求修改菜单:
1. 为"数据录入"、"数据查询"、"统计分析"菜单栏设置热键为L、Q、C;
2. 为"统计分析"菜单栏创建下级子菜单,子菜单包含下列几项:

菜单名称
结果
快捷键
统计学生人数
过程
CTRL+T
统计教师工资
命令

并在菜单项之间插入分组线;
3. 已知在A盘根目录下已存在表文件XS.DBF,为" 统计学生人数"菜单项编制过程来统计XS表中学生的人数,将统计结果放在变量X中,并在系统提示窗口显示出来:
4. 在"统计分析"菜单栏后面增加一个"退出"菜单栏,并为它设置相应的命令,要求当执行"退出"菜单时,将VFP主菜单设置为系统默认菜单.

四. 设计表单
根据下列要求对项目中的表单formc进行修改,该表单用来对JS(教师)表的基本信息进行新增、删除以及编辑修改:
1. 将表单的边框改成固定对话框;
2. 将基本工资整数部分的显示格式设置成从小数点开始,从右至左每三位用逗号分隔;
3. 给"第一条"按钮增加快捷键T;
4. 将命令按钮组的按钮数增加到6个,并将新增加的按钮的标题设置成"退出",并编写相应的代码,要求当单击该按钮时,关闭该表单;
5. 为"新增"按钮编写相应的事件代码,当单击该按钮时,在JS表中增加一条空记录,且对屏幕进行刷新;
6. 工龄的取值范围为(1,50),试编写相应的事件代码,对工龄的输入值进行校验,如果输入值不符合要求,则屏幕右上角出现系统提示窗口并显示"数据输入不合法!",且工龄文本框不会失去焦点.
进行上述修改以后,运行表单,屏幕显示如下: