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

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

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

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

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

打开软盘根目录下的项目文件TEXTG,在该项目文件中已存在一个数据库SJK,根据下列要求在项目中完成有关数据库及表操作。
1. 设置SJK中KC表的字段属性及表属性,要求:
(1)将kss字段的标题设置为"周课时数",默认值设置为4;
(2)设置字段验证规则:学分(XF)大于或等于3的课程必须是必修课(BXK);
(3)增加一个备注型字段KCBZ;
(4)创建一个普通索引xfks,要求先学分(xf)降序排序,学分相同时再按课时数(kss)降序排序。
2. 把软盘根目录中的表文件KCB.DBF添加为TEXTG项目中的自由表。
3. 修改课程表的记录,要求在所有必修课(即bxk字段值为T)课程名的后面加"*"号。
4. KC表和RK 表已按gh建立永久关系,试按下列要求设置两个表之间的参照完整性:
     如果在kc表中修改了kcdh字段的值,则rk表中的ckdh字段作相应的更改。

二、 设计查询
1. 在TEXTG项目中已存在查询chaxuna。已知xs表(学生)中xm字段(姓名)的第1个汉字为姓氏,按如下要求设计查询:

基于xs表统计各姓氏人数,要求输出字段为:姓氏,人数。查询结果只需人数最多的前10个姓氏,并按人数的降序排序,人数相同的姓氏则再按姓氏的拼音字母升序排序。

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

基于xs表(学生)和cj 表(学生成绩)查询某专业某课程成绩各分数段(99~90,89~80,79~70,…,9~0)人数情况,99~90分数段用90表示,89~80分数段用80表示,依此类推(提示:某个成绩属于哪个分数段可用表达式int(cj/10)*10求得)。这里指定要查询的专业代号(zydh)为"110002",课程代号(kcdh)为"01"。要求输出字段为:分数段、人数。查询结果按分数段的降序排序。

三. 设计菜单
TESTG项目中已存在菜单MENUG,利用菜单设计器按如下要求修改菜单:
1. 在"文件"菜单栏下插入系统菜单栏"关闭"(创建子菜单);
2. 为"记录定位"菜单项创建下级子菜单,子菜单包含下列几项:
菜单名称
结果
热键
第一条
命令
T
上一条
过程
P
下一条
过程
N
最后一条
命令
B

3. 在A盘根目录下已经存在表文件XSB.DBF,并且可以通过"浏览"菜单项显示该表内容.为" 上一条"菜单项编制相应的过程,当执行该菜单时,屏幕上显示的XSB表的记录指针向上移动一条;
4. 如果记录指针已经到尾部,则"下一条"菜单项不可用。

四. 设计表单
根据下列要修改项目文件中的表单文件formg,该表单用来查看每个专业的学生成绩。
1. 根据已经设置好的组和框的RowSource属性来设置组合框的RowSourceType属性:
2. 将表格中姓名这一列的ControlSource属性值设置为XM
3. 去掉水平滚动条:
4. 完善表格的Init事件代码,使得成绩这一列的值如果小于60 分,则前景色为红色,否则为黑色;
5. 在表单中相应分数段的标签下面,添加三个文本框,并为"计算"按钮编写相应的事件代码,使得当单击"计算"按钮时,文本框中显示相应分数段的人数。
进行上述修改以后运行表单,然后点击"计算"按钮,此时屏幕显示: