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

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

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

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

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

打开软盘根目录中的项目文件TESTD,在项目中已经有一数据库SJK。
1. 按如下要求修改SJK中JS(教师)表的结构:
(1) 将XIMING字段的标题设置为"系名", 默认值设置为"计算机系";
(2) 将gl字段(工龄)的有效性规则文本设置为: 工龄应在1至50之间,并设置相应的有效性规则:
(3) 添加一个通用型字段photo;
(4) 创建一个名为gg的普通索引, 要求先按工龄(gl)排序, 工龄相同时按工号(gh)排序.
2. 把软盘根目录中的表文件JSB.DBF添加为TESTD项目中的自由表。
3. 修改JSB表中的记录数据: 将所有记录的工龄(gl)字段值加1。
4. 在ZY表(专业)中以zydh字段为索引表达试创建主索引zydh, 在XS表(学生)中以zydh字段为索引表达试创建普通索引zydh, 并以此建立ZY表和XS表之间的永久性关系。
5. 已知js表和rk表已按gh建立永久性关系, 设置两个表之间的参照完整性规则: 更新级联。

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

基于xs表(学生)查询所有籍贯(jg)为非江苏籍的各地学生人数, 要求输出字段为: jg,人数查询结果按人数的升序排序。

2. 在testd项目中已存在查询chaxuna,按如下要求设计该查询:

在sjk数据库中存在xs表(学生)和cj表(学生成绩),由于各种可能的原因, 造成了cj表中孤立记录的存在, 即cj表中的学号(xh)字段值是xs表中没有的, 试基于这两张表查询出cj表中的所有孤立记录的学号, 要求查询结果中没有重复的学号, 查询结果按学号的升序排序,查询结果输出到临时表tmp。

三. 设计菜单
TESTD项目中已存在菜单MEMUD,利用菜单设计器按如下要求修改菜单:
1. 在"编辑"菜单栏下插入系统菜单中的"查找"功能,将"查找"菜单项插在"浏览菜单项的后面,并用分组线隔开;
2. 为"浏览"菜单创建下级子菜单,子菜单包括下列几项:
菜单名称
结果
快捷键
学生表
过程
CTRL+S
成绩表
过程

3. 在A盘根目录下已经存在表文件XS.DBF, 为上述"学生表"菜单项编制相应的过程,当执行该菜单项时,在浏览窗口显示xs表的内容;
4. 在"记录定位"菜单栏后面增加一个"退出"菜单栏,并为它设置相应的命令,要求当执行"退出"菜单时,将vfp主菜单设置为系统默认菜单.

四. 设计表单
根据下列要求修改项目文件中的表单文件formd,该表单用来查看学生的基本情况。
1. 将表格的行高改成21;
2. 将学号这一列的背景设置为RGB(128,255,255);
3. 将表格中的专业名称这一列的controlsource属性值设置为ZYMC;
4. 在运行表格中数据不能修改,但能获得焦点;
5. 在标签控件"学号"后面增加一个文本框对象,当按"确定"按钮时,要求根据该文本框中输入
的学号对表格内容进行过滤,如果文本框的内容为空,则显示全部内容,否则显示相应学生的情况,试编码相应的事件代码完成此功能;
6. 已知xs表已经按xh建立了一个结构复合索引,索引标识xsxh.试编写相应的事件代码完成功能:双击"学号"列标题,表格内容按学号进行排序。
完成上述修改后运行表单,屏幕显示: