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

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

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

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

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

打开软盘根目录下的项目文件TESTA,在该项目文件中已存在一个数据库SJK,根据下列要求完成有关数据库及表的操作。
1.修改数据库中JS表(教师)的结构,要求:
(1)修改jbgz字段的宽度,使之能容纳6位整数和1位小数;
(2)将ximing宇段的标题设置为“所在系科”,默认值设置为“系”;
(3)设置zc字段的有效性规则及信息;zc(职称)只能是“助教、讲师、副教授、教授”中的—个;
(4)创建普通索引glgz,要求先按工龄(g1)排序,如果工龄相同,再按基本厂资(jbgz)排序。
2.将自由表JSB添加到SJK中,并在项目中为该表添加说明:“教师表”。
3.修改JSB表中记录的基本工资(jbgz)数据:教授加125、副教授加89。
4.JS表和RK表已按gh建立永久性关系,试按下列要求设置两个表之间的参照完整性规则:如果在RK表中存在匹配的关键字值,则禁止在JS表中删除记录。

二、设计查询
1.在TESTA项目中已存在查询chaxuna,数据库SJK中含有JS表(教师表),教师表中jbgz字段表示教师的基本工资,按如下要求设计查询chaxuna:
查询各职称( zc )层次教师的人数和各职称层次教师的平均基本工资,要求输出字段为:zc,人数,平均工资.查询结果按平均工资的降序排序.
2.已知SJK数据库中的KC表(课程)包含xf字段(学分)。在TESTA项目中已存在查询chaxunb,按如下要求设计该查询:
基于CJ表(成绩)和KC表(课程)查询各学生各门课程的学分。学分根据KC表中的xf字段和CJ表中的cj而定,如果成绩大于或等于60,则学分为KC表中相应课程的xf字段值,否则学分为0 (提示:学分可按表达式iif(cj>=60,kc.xf,0)计算得到)。要求输出字段为:xh,kcm,cj,学分.查询结果按xh和kcm升序排列,查询结果的输出去向为临时表tmp。

三、设计菜单
TESTA项目中已存在菜单menua,利用菜单设计器按如下要求修改菜单。
1. 按下列图示要求为“教师管理”菜单栏创建子菜单:


2.在A盘根目录下已经存在表文件JSB.DBF,为上图中的“工资”菜单项编制过程代码.统计基本工资(jbgz)1000元以上的人数(包括1000),并将统计结果在系统提示窗口显示出来;
3.为“退出”菜单设置过程, 当执行该菜单时,关闭当前打开的数据库文件,并将VFP主菜单恢复为系统默认菜单。

四、设计表单
根据下列要求修改项目文件中的表单forma,该表单用来查看教师的任课情况。已知在数据库SJK中存在二个视图JSRK及JSRKMX,JSRK视图用来显示每—个教师的任课门数及总学时JSRKMX用来显示每一个教师任课明细情况,且JSRK已经加载到数据环境中。
1.将JSRKMX视图加载到数据环境中;
2.从数据环境中将视图JSRKMX拖到表单上,此时表单上就会自动创建另一个表格对象,并将该表单对象名改为GRID2;
3.将表格GRID2的工号(gh)这一列删除,并去掉表格上的删除标志和水平滚动条;
4.为GRID2的各列设置标题如下图所示; ’
5.在“查询工号”标签后面增加一个文本框对象,并为文本框编制相应的事件代码,使得在文本框中输入工号以后,按回车键,表格GRIDl中的记录指针自动定位到该工号;
完成上述操作以后运行表单,此时,如果在文本框中输入工号“B0001”,则屏幕显示如下图所示: