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

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

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

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

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

打开软盘根目录中的项目文件TESTA,在该项目中已有一数据库SJK。
1. 按如下要求修改SJK中XS表(学生)的结构:
(1) 将xh字段的标题设置为"学号",默认值设置为"2001";
(2) 将xm字段的宽度修改为8;
(3) 设置csrq字段(出生日期)的有效性规则:出生日期的年份必须在1985年之前;
(4) 将zp字段名该为photo;
(5) 创建一个普通索引xj,要求先按照系名(ximing)排序,系名相同时再按籍贯(jg)排序。
2. 把软盘根目录中的表文件XSB.DBF添加为TESTA项目中的自由表。
3. 修改XSB表中的记录数据:修改所有记录的xb字段(性别)的值,若字段值为"男",则改为"01",若字段值为"女",则改为"02"。
4. SJK中表XS和CJ已存在以xh字段为索引表达式的主索引xsxh和普通索引cjxh,以XS表为主表,CJ表为子表按xh建立永久关系。
5. 在SJK中的KC表和RK表之间设置参照完整性:删除级联。

二. 设计查询
1. 在TESTA项目中已存在查询chaxuna,按如下要求设计查询:

基本XS表(学生)查询所有籍贯(jg)为非江苏籍的学生。要求输出字段为:
jg,xh,xm,xb,xiximg,查询结果按籍贯的升序排序。

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

查询各课程各专业的平均成绩。要求输出字段为:kcm,所属专业,平均成绩。查询结果按平均成绩从高到低顺序排列,查询结果的输出去向为临时表tmp。

三. 设计菜单
TESTA项目中已存在菜单MENUA,利用菜单设计器按如下要求修改菜单:
1. 按下列图示要求为"数据录入" 菜单栏创建子菜单;

2. 已知在A盘根目录下已经存在表文件XSB.DBF,为"学生信息"菜单项编制相应的过程,使得在执行该菜单项时,将XSB表的信息在浏览窗口中显示出来;
3. 在"数据录入"菜单栏前插入"文件"菜单栏,并为它设置热键F;
4. 在"文件"菜单栏下插入系统菜单栏"关闭"(即创建子菜?quot;关闭")。

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