1、国家二级 VF 机试(操作题)-试卷 70 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.1打开考生文件夹下的数据库 College,物理删除该数据库中的 temp 表,然后将 3 个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。 2为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。 3使用 SQL 语句查询“教师表”中工资大于 4500 的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 onetxt中,SQL 语句存储于文件 twoprg 中。 4使用
2、报表向导为“学院表”创建一个报表 three,选择“学院表”的所有字段,其他选项均取默认值。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用: 1使用 SQL 语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1 表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp 中。最后将该 SQL 语句存储在文件 threeprg 中。 2建立一个文件名和控件名均为myform 的表单,如下图所示。表单中包
3、括一个列表框(List1)、一个选项组(Optiongroupl)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL 语句根据“国家”表显示国家名称,选项组中有 3 个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.设计一个名为 form_book 的表单,表单的控件名为 forml,文件名为 form_book,表单的标题为“图书情况统计”。表单中有一个组合框(名称为 Com
4、bol)、一个文本框(名称为 Text1)、两个命令按钮“统计”和“退出”(名称为 Command1 和 Command2)。 运行表单时,组合框中有 3 个条目“清华”、“北航”、“科学”(只有 3 个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“book”表中该出版社图书的总数。 单击“退出”按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 70 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.1打开考生文件夹下的数据
5、库 College,物理删除该数据库中的 temp 表,然后将 3 个自由表“教师表”、“课程表”和“学院表”添加到该数据库中。 2为“课程表”和“教师表”分别建立主索引和普通索引,字段名和索引名均为“课程号”,并为两个表建立一对多的联系。 3使用 SQL 语句查询“教师表”中工资大于 4500 的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 onetxt中,SQL 语句存储于文件 twoprg 中。 4使用报表向导为“学院表”创建一个报表 three,选择“学院表”的所有字段,其他选项均取默认值。(分数:2.00)_正确答案:(正确答案:(1)打开 College 数据
6、库,用鼠标右键单击表 temp,选择“删除”命令,在弹出的对话框中选择“删除”按钮;用鼠标右键单击数据库设计器空白处,通过快捷菜单中的“添加”命令将自由表“教师表”、“课程表”和“学院表”添加到数据库中。 (2)在数据库设计器中用鼠标右键单击表,通过快捷菜单中的“修改”命令打开表设计器,按要求分别为“课程表”和“教师表”建立主索引和普通索引,在数据库设计器中从主索引拖曳到普通索引以建立两表间的联系。 (3)新建一个程序,写入下列代码。 选择查询字段 SELECT *; &指定字段来源 FROM 教师表; 设置查询条件 WHERE 教师表工资4500; 查询结果按职工号升序排列 ORDER BY
7、 教师表职工号; &将查询结果存储到onetxt 中 TO FILE onetxt 保存程序名为“twoprg”,并单击系统菜单中的运行按钮,运行程序。(4)通过报表向导新建一个报表,添加“学院表”作为报表的数据源,将所有字段添加到选定字段,最后输入报表名“three”。)解析:解析:在数据库设计器中通过鼠标右键单击表完成删除、添加和修改表的操作。新建程序,在程序中完成 SQL 语句的编写。通过“报表向导”建立报表。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用: 1使用 SQL 语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“
8、名次”为 1 表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp 中。最后将该 SQL 语句存储在文件 threeprg 中。 2建立一个文件名和控件名均为myform 的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroupl)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL 语句根据“国家”表显示国家名称,选项组中有 3 个按钮,标题分别
9、为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:2.00)_正确答案:(正确答案:(1)新建程序 threeprg,然后输入以下命令语句。 *threeprg 中的代码* 选择查询字段,通过 AS 短语制定显示字段 SELECT 国家国家名称,COUNT(获奖牌情况名次)AS 金牌数; 指定字段来源 FROM 国家获奖牌情况; 设置查询条件 WHERE 国家国家代码=获奖牌情况国家代码; AND 获奖牌情况名次=1; &GROUP BY 子句用于按国家名称分组 GROUP BY 国家国家名称; &查询结果按金牌数降序排列,金牌数相等时按国家名称降序排列 OR
10、DER BY 2 DESC,国家国家名称 DESC; &将查询结果存储到 tempdbf 中 INTO TABLE tempdbf * 保存并运行程序。 (2)新建一个表单,按题目要求添加一个列表框、一个选项组和一个命令按钮,并修改其属性如下:表单的 Name 属性为 myform,Caption 属性为“奖牌查询”;列表框的 RowSourceType 属性为“3 一 SQL 语句”,Rowsource 属性为“SELECT 国家姓名FORM 国家 INTO cursor LSB”;选项组的 ButtonCount 属性为 3;单选钮 1 的 Caption 属性为“金牌”;单选钮 2 的
11、Caption 属性为“银牌”;单选钮 3 的 caption3 属性为“铜牌”;命令按钮的 Caption 属性为“退出”。 保存表单为 myfrom,运行以查看表单的设计结果。)解析:解析:新建一个查询,按要求完成查询后查看 SQL 语句并复制到程序中运行程序;新建一个表单,按要求添加控件并修改控件的属性。三、综合应用题(总题数:1,分数:2.00)3.设计一个名为 form_book 的表单,表单的控件名为 forml,文件名为 form_book,表单的标题为“图书情况统计”。表单中有一个组合框(名称为 Combol)、一个文本框(名称为 Text1)、两个命令按钮“统计”和“退出”(
12、名称为 Command1 和 Command2)。 运行表单时,组合框中有 3 个条目“清华”、“北航”、“科学”(只有 3 个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击“统计”命令按钮,则文本框显示出“book”表中该出版社图书的总数。 单击“退出”按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口输入命令“Create Form form_book”,建立表单。 步骤 2:从表单控件工具栏中以拖曳的方式在表单中添加一个组合框、一个文本框和两个命令按钮,并修改各控件的属性,如图 369 所示,
13、为表单添加数据环境“book”表。 步骤 3:双击命令按钮,写入命令按钮的 Click 事件代码。如图 370 所示。 *“统计”命令按钮的 Click 事件代码* SELECT COUNT(*)FROM BOOK; WHERE 出版社=THISFORMCOMBO1VALUE; INTO ARRAY TEMP THISFORMTEXTlVALUE=Temp(1) * *“退出”命令按钮的 Click 事件代码* ThiSFormRelease *步骤 4:保存并运行表单,如图 371 所示。 )解析:解析:若要设置组合框中的显示条目为某些固定的值,则需先将组合框的 RowSourceType 属性设置为“1”,同时将 RowSource 属性设置为这些值,且之间要用逗号隔开。