江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
2002年(春)Visual FoxPro(03)(Vip专用)

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

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

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

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

打开软盘根目录下的项目文件TESTC,在该项目文件中已存在一个数据库SJK,根据下列要求在项目中完成有关数据库及表的操作。
1.修改SJK中ZY表的结构:
(1) 将xz字段的标题设置为“学制”,默认值设置为4;
(2) 增加一个备注型字段,字段名为bz;
(3) 设置xz字段的有效性规则及提示信息:学制必须在2—5年范围内;
(4) 创建一个普通索引xzmc,要求先按学制( xz )排序,如果学制相同,再按专业代号(zydh)排序。
2.将软盘根目录中的表文件JSB.DBF添加为TESTC项目中的自由表。
3.修改JSB表中基本工资(jbgz)数据:教授加125,副教授加119,讲师加105。
4.在SJK中的ZY表和XS表之间设置参照完整性:如果在XS表中有相关记录,则禁止在ZY表中删除相应记录(要求先为两个表根据zydh字段建立索引、并且建立永久性关系)。

二、设计查询和视图
1.在TESTC项目中已存在查询chaxuna。数据库SJK中含有JS表(教师),假设教师表中gh(工号)字段的首字母表示教师所在系科的代号,按如下要求设计查询chaxuna:
查询各系科的名称及其字母代号.输出字段为:ximing,字母代号.要求查询结果中不允许有重复的记录.查询结果按字母代号的升序排序。
2.在SJK数据库中有一“学生成绩”的本地视图。按如下要求在视图设计器中修改该视图:
(1) 将视图的cj字段的输出字段名称改为“成绩”;
(2) 根据成绩字段值重新定义xf字段(学分),要求成绩大于或等于60时才能取得学分,否则学分为0,且输出字段名称改为“学分”;
(3)将视图中记录的顺序指定为先按kcdh排序,再按学号排序。

三、设计菜单
TESTC项目中已存在菜单menuc,利用菜单设计器按如下要求修改菜单:
1. 为“记录定位”菜单创建下级子菜单,子菜单包含下列几项:

菜单名称
结果
热键
第一条
命令
T
上一条
过程
P
下一条
过程
N
最后一条
过程
L
任意一条
命令
F

2.在A盘根目录下已经存在表文件CJB.DBF(成绩表),并且可以通过“浏览”菜单项显示该表内容。为上述“最后一条”菜单项编制相应的过程,当执行该菜单项时,浏览窗口中显示的CJB表的记录指针移动到最后一条记录;
3.如果记录指针已经到头部,则“上一条”菜单项不可用;
4.在“文件”菜单栏下增加“退出”菜单项,并设置快捷键为CTRL+E,且为它设置命令,将VFP主菜单恢复为系统默认菜单。

四、设计表单
根据下列要求修改项目文件中的表单formc,该表单用来查看学生的基本情况及成绩情况。 1. 在页框对象的第一页中增加一个OLE绑定型控件,并让它与XS表中的zp字段绑定;2. 在页框对象的第二页表格GRID2中去掉学号这一列;
3. 在页框对象的第二页的“学号”标签后增加一个文本框控件,名为Txtxh,为文本框设置相应的属性,使该文本框控件的值为当前学生的学号,且在运行时其数据不可更改,也不能获得焦点;
4. 在命令按钮组的Click事件代码前面增加适当代码,使得不管当前活动页面为哪一页,只要单击命令按钮组中的任何一个按钮,活动页面总是第一页;
5. 完善命令按钮组的Click事件代码,使得当单击按钮组中的“上一条”按钮时,第一页上显示的XS表向上移动一条记录;


完成上述修改以后运行表单,此时可以通过移动工具条来查看学生情况及学生成绩情况,如学号“010101”的学生,第一页和第二页分别显示:

 


如果该学生没有成绩,则第二页显示为空。