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

2001年(春)江苏省普通高校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷

二级 Visual FoxPro 5.0 (VFP01)

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

说明:1.考试语言环境一律为Visual FoxPro 5.0

2.运行考试软盘A中的“准考证”应用程序文件,输入考生的准考证号、试卷代号。

3.启动VFP5.0系统后,首先在命令窗口中执行命令:

set default to A:

   以设置默认的工作目录,然后再开始作题。

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

打开软盘根目录中的项目文件TESTF,在该项目中已有一数据库SJK,根据下列要求完成有关数据库及表的操作。

1. 修改项目中自由表JSB,要求:

(1)将JSB表的JBGZ字段的宽度改成8,小数位数修改为1;

(2)物理删除JSB表中所有ximing为“计算机科学系”的教师记录;

(3)将项目中的自由表RKB更改为:RKBRE。

2. 设置SJK中RK表的字段属性及表属性,要求:

(1)将ZYDH字段的标题设置为“专业代号”;

(2)将KCDH字段的标题设置为“课程代号”。

3. 根据下面表格中列出的要求对SJK中的JS表建立结构复合索引:

索引名
类型
表达式
CSRQ
普通索引
由ZC和CSRQ两个字段组成

4. 为RK表添加说明为“教师任课表”。

5. 已知JS表和RK表已按GH建立永久性关系,试按下列要求设置两个表之间的参照完整性规则:

如果在JS表中不存在匹配的关键字值,则禁止在RK表中插入记录。

6. 将自由表XSB添加到SJK中。

二、设置查询

1. 数据库SJK中,KC表(课程)含有数值型的kss字段(课时数)。在TESTF项目中已存在查询chaxuna,按如下要求设计该查询:

基于kc表查询所有不带删除标记且课时数超过5或课时数小于3(不包含5和3)的课程。要求输出字段为:kcdh,kcm,kss,bxk,xf,查询结果按kss的降序排序。

2. SJK数据库中包含xs(学生)表和视图“课程成绩”(包含课程名、学生成绩)。在TESTF项目中已存在查询chaxunB,按如下要求设计该查询:

基于xs表和“课程成绩”视图查询各学生各门课程的成绩。要求输出字段为:xh,xm,kcm,cj。查询结果按xh和kcm升序排列,查询结果的输出去向为临时表xmcj。

三、设计类

在TESTF项目中已存在类库mylib,在该类库中按如下要求创建工具栏子类:

(1)基于工具栏类创建工具栏子类tbFont;

(2)设置tbFont的标题为“字体工具栏”;

(3) 在tbFont工具栏中添加如下控件,并设置有关的属性;

控件名称
属性
属性值     
标签控件:Label1
标题
字体
对齐方式
居右
组合框:cboFontName
行源类型
数组
行源
fn
命令按钮:Command1
标题
B
粗体
.T.
命令按钮:Command2
标题
I
斜体
.T.

(4)设置工具栏tbFont的Refresh方法的代码:

enab=INLIST(_SCREEN.ActiveForm.ActiveControl.BaseClass,"TextBox","EditBox")

该命令用来测试活动表单中活动控件是否是文本框或编辑框。然后在此命令下面再增加一条命令,要求根据变量enab的值,利用工具栏的SetAll方法设置工具栏中所有控件的Enabled属性。

(5)设置组合框cboFontName的Init事件代码:

Public fn(1)

=Afont(fn)

设计完成后的工具栏如下图所示。

四、 设计表单

根据下列要求修改项目文件中的表单formf,该表单用来以按课程查看学生的成绩。

1. 将表单的标题设置为“课程选修情况查询”;

2. 将KC表添加到数据环境中;

3. 在表单中添加一个列表框控件,并设置它的列数为3列,前二列的宽度分别为40,120;

4. 要求在该列表框中显示课程表的KCDH(课程代号)、KCM(课程名)、KSS(课时数)三个字段内容,试为它设置RowSource和RowSourceType属性的值;

5. 当鼠标在列表框中选定一门课程时,要求右边的表格中显示选修该门课程的学生名单,试编制相应的事件代码。

进行上述修改以后,运行显示如下图所示。