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

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

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

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

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

打开软盘根目录下的项目文件TESTB,在项目文件中已存在一个数据库SJK,根据下列要求在项目中完成有关数据库及表的操作。
1. 对学生表进行如下操作:
(1) 将学生表中的ZP字段的标题设置为"照片"
(2) 将学生表中JG字段的默认值设置为"江苏"
(3) 添加一个字段:TC,宽度为20字节,类型为字符型
(4) 创建一个名为XC的普通索引,要求按照性别(XB)和出生日期(CSRQ)升序排列
(5) 已知学号的前两位数字表示学生的入学年份,为防止尚未毕业的学生记录被删除,必须删除的条件为:当前年份比入学年份大5,设置XS表相应的删除触发器艰苦建立。
2. 已知XS表已按XH字段建立主索引,索引名为XSXH,CJ表已按XH字段建立普通索引,索引名为CJXH,试基于XH建立XS表与CJ表的永久关系。
3. 修改XSB 表中的记录数据:修改所有记录的XH字段(学号)的值,若学号以"9"字符开头,则在其前插入"19",若以"0"开头,则在其前插入"20"。
4. 已知JS 表和RK表已按GH建立永久性关系,设置两个表之间的参照完整性规则:删除限制。

二、 设计查询
1. 在TESTB项目中已存在查询CHAXUNA,利用查询设计器基于JS表(教师)按如下要求设计查询:

查询各系男女教授的人数,输出字段为:XIMING,XB,人数,查询结果按XIMING排序。

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

查询各课程各专业的最高分和最低分。要求输出字段为:KCM,所属专业,最高分,最低分,查询结果按课程名(KCM)和所属专业的升序排列,查询结果的输出去向为临时表TMP。

三、 设计菜单
TESTB项目中已存在菜单MENUB,利用菜单设计器按如下要求修改菜单:
1. 为"数据录入"、"数据查询"、"统计分析"菜单栏分别设置热键为L、Q、C;
2. 为"统计分析"菜单栏创建下级子菜单,子菜单包含下列几项:

菜单名称
结果
快捷键
统计学生人数
过程
CTRL+T
统计教师工资
命令

并在菜单项之间插入分组线:
3. 已知A盘根目录下已经存在表文件XS.DBF,为"统计学生人数"菜单项编制过程来统计XS表中学生的人数,将统计结果放在变量X中,并在系统提示窗口显示出来:
4. 在"统计分析"菜单栏后面增加一个"退出"菜单栏,并为它设置相应的命令,要求执行"退出"菜单时,将VFP主菜单设置为系统默认菜单。

四、 设计表单
已知表单FORMB中有两个列表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中当前选定的行重新移回到LIST1中;
6. 在"> "按钮的CLICK事件代码中添加适当代码,用来根据LIST1中的项数(ListCount属性)起用和废止"> "按钮:如果LIST1的项数为0,则废止按钮,否则起用按钮。修改"<"按钮的CLICK事件代码,使之具有类似的功能。


完成上述修改后运行表单,屏幕显示如下图所示: