1、国家二级 VF机试(操作题)模拟试卷 17 及答案与解析 一、基本操作题 1 (1)在考生文件夹下打开数据库文件 “大学管理 “,为其中的 “课程表 “和 “教师表 “分别建立主索引和普通索引,字段名和索引名均为 “课程号 “。 (2)打开 one.prg文件,修改其中的一处错误,使程序执行的结果是在屏幕上显示: 5 4 3 2 1 注意:错误只有一处,文件修改之后要存盘。 (3)为 “教师表 “创建一个快速报表 two,要求选择 “教师表 “的所有字段,其他选项均取默认值。 (4)使用 SQL语句为 “教师表 “的 “职工号 “字段增加有效性 规则:职工号的最左边四位字符是 “1102“,并
2、将该 SQL语句存储在 three.prg中,否则不得分。 二、简单应用题 2 (1)打开考生文件夹下的数据库文件 “大学管理 “,修改并执行程序 four.prg。程序four.prg的功能是: 1)建立一个 “工资表 “(各字段的类型和宽度与 “教师表 “的对应字段相同 ),其中职工号为关键字。 2)插入一条 “职工号 “、 “姓名 “和 “工资 “分别为 “11020034“、 “宣喧 “和 4500的记录。 3)将 “教师表 “中所有记录的相应字段插入 “工资表 “。 4)将工资低于 3000的职 工工资增加 10%。 5)删除姓名为 “Thomas“的记录。 注意,只能修改标有错误的
3、语句行,不能修改其他语句,修改以后请执行一次该程序,如果多次执行,请将前一次执行后生成的表文件删除。 (2)使用查询设计器建立查询 teacher_q并执行,查询的数据来源是 “教师表 “和 “学院表 “,查询的字段项包括 “姓名 “、 “工资 “和 “系名 “,查询结果中只包括 “工资 “小于等于 3000的记录,查询去向是表 five,查询结果先按 “工资 “降序排列,若 “工资 “相同再按 “姓名 “升序排列。 三、综合应用题 3 (1)在考生文件夹下建立 一个文件名和表单名均为 myform的表单文件。 (2)在考生文件夹下建立一个如下图所示的快捷菜单 mymenu,该快捷菜单有两个选
4、项 “取前三名 “和 “取前五名 “。分别为两个选项建立过程,使得程序运行时,单击 “取前三名“选项的功能是:根据 “学院表 “和 “教师表 “统计平均工资最高的前三名的系的信息并存入表 sa_three中, sa_three中包括 “系名 “和 “平均工资 “两个字段,结果按 “平均工资 “降序排列;单击 “取前五名 “选项的功能与 “取前三名 “类似,统计查询 “平均工资 “最高的前五名的信息,结果存入 sa_five中, sa_five表中的字段和排序方法与sa_three相同。 (3)在表单 myform中设置相应的事件代码,使得右键单击表单内部区域时,能调出快捷菜单,并能执行菜单中的
5、选项。 (4)运行表单,调出快捷菜单,分别执行 “取前三名 “和 “取前五名 “两个选项。 国家二级 VF机试(操作题)模拟试卷 17 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)单击工具栏中的 “打开 “按钮,打开考生文件夹中的数据库件 “大学管理 “,右击 “课程表 “,选择 “修改 “命令,选择 “索引 “选项卡,在索引名处输入 “课程号 “,类型选择 “主索引 “,表达式为 “课程号 “;同样打开 “教师表 “表的表设计器,选择 “索引 “选项卡,在索引名处输入 “课程号 “,类型选择 “普通索引 “,表达式为 “课程号 “。 (2)单击工具栏中的 “打开 “按钮
6、,打开考生文件夹中的程序文件 one,将循环语句中的条件 i=1,保存并运行程序。 (3)单击工 具栏中的 “新建 “按钮,在 “新建 “对话框中选择 “报表 “,单击 “新建文件 “按钮;选择 “报表 “菜单下的 “快速报表 “命令,在 “打开 “对话框中选择考生文件夹下的 “教师表 “,在 “快速报表 “对话框中单击 “确定 “按钮;单击工具栏中的 “保存 “按钮,将快速报名保存为 two.frx。 (4)单击工具栏中的 “新建 “按钮,新建一个程序文件 three,在其中编写代码 “alter table 教师表 alter 职工号 set check LEFT(职工号 ,4)=“110
7、2“,保存并运行。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:单击工具栏中的 “打开 “按钮,打开考生文件夹中的程序文件 four.prg,修改如下: * CREATE TABLE 工资表 (职工号 C(8) primary KEY,姓名 C(6) ,工资 N(10,2) INSERT INTO 工资表 VALUES (“11020034“,“宣喧 “,4500) USE 工资表 APPEND FROM 教师表 UPDATE 工资表 set 工资 =工资 *1.1 WHERE 工资 3000 DELETE FROM 工资表 where 姓名 =“Thomas“ PACK
8、* 步骤 2:保存并运行程序。 (2)【操作步骤】 步骤 1:单击常用工具栏中的 “新建 “按钮,新建一个查询,在 “添加表或视图 “对话框中将 “教师表 “和 “学院表 “添加到到新建的查询中。 步骤 2:在 “字段 “选项卡中,将 “教师表姓名 “、 “教师表工资 “和 “学院表系名“到添加到选定字段中。 步骤 3:在 “筛选 “选项卡中,在字段名中选择 “教师表 .工资 “,条件为 “=“,实例为“3000“。 步骤 4:在 “排序依据 “选项卡中,先设置按 “工资 “降序排列、再按 “姓名 “升序排列。 步骤 5:单击 “查询 “菜单下的 “查询去向 “命令,在 “查询去向 “对话框中
9、选择 “表 “,在 “表名 “中输入 five。 步骤 6:保存查询为 teacher_q,运行查询。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:在命令窗口中输入 “Create form myform“,按下回车键新建一个表单,按要求修改表单的 Name属性为 myform。双击表单,在其 RightClick事件中写入 “DO mymenu.mpr“。 步骤 2:单击工具栏中的 “新建 “按钮,在 “新建 “对话框中选择 “菜单 “,单击 “新建文件 “按钮,选择 “快捷菜单 “,在菜单设计器中输入两个菜单项 “取前三名 “和 “取前五名 “,结果均为 “过程 “。 步骤
10、3:分别单击两个菜单项后面的 “创建 “按钮,编写对应的过程代码: *“取前三名 “菜单项中的代码 * SELECT TOP 3 学院表 .系名 ,avg(教师表 .工资 ) as 平均工资 ; FROM 学院表 ,教师表 ; WHERE 学院表 .系号 = 教师表 .系号 ; GROUP BY 学院表 .系名 ; ORDER BY 2 DESC; INTO TABLE sa_three.dbf * *“取前五名 “菜单项中的代码 * SELECT TOP 5 学院表 .系名 , avg(教师表 .工资 ) as 平均工资 ; FROM 学院表 ,教师表 ; WHERE 学院表 .系号 = 教师表 .系号 ; GROUP BY 学院表 .系名 ; ORDER BY 2 DESC; INTO TABLE sa_five.dbf * 步骤 4:单击 “菜单 “菜单中的 “生成 “命令,按提示保存为 mymenu,并生成菜单源程序文件( MPR)。 步骤 5:运行表单,在表单空白处单击鼠标右键,依次执行两个菜单项中的命令。