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

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

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

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

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

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

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

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

2. 在TESTE项目中以存在查询chaxunb,按如下要求设计该查询:

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

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

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

四. 设计表单
已知表单forme中有两个列表LIST1和LIST2,当单击ADD按钮时,将LIST1中当前选定的行加到LIST2中,当单击MOVE按钮时,将LIST2中当前选定的行重新移回到LIST1中。根据下列要求对表单进行修改:
1. 将表单中ADD按钮和MOVE按钮的标题分别用大于号">"和小于号"<"表示;
2. 将LIST1中显示的的列改成A-F共6个字母;
3. 该表单不能最大化和最小化;
4. 为LIST1编制相应的事件代码,使得当在LIST1中双击时,将LIST1中当前选定的行加到LIST2中;
5. 为LIST2编制相应的事件代码,使得当在LIST2中双击时,将LIST2中当前选定的行重新移动到LIST2中;
6. 在">"按钮的Click事件代码中增加适当代码,用来根据LIST1中列表项的项数(ListCount属性)启用和废止">"按钮:如果LIST1中的项数为0,则废止按钮,否则启用按钮。修改"<"按钮的Click事件代码,使之具有类似的功能。
完成上述修改后运行表单,屏幕显示如下所示: