1、国家二级 VF机试(操作题)模拟试卷 534及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的 SPORT数据库,并永久删除该数据库中的 temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库。 (2)为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)通过 SQL语句为表“金牌榜”增加一个“奖牌总数”(整数型)字段,并为该字段设置有效性规则:奖牌总数0。最后将该 SQL语句存储在文件 oneprg 中。 (4)使用 SQL语句更改表“金牌榜”中所有记录的“奖牌总数”字段值,该
2、值应为“金牌数”、“银牌数”和“铜牌数”3 项之和。请将该 SQL语句存储在文件 twoprg 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用: (1)通过一对多表单向导新建一个名为 sport_form的表单。 要求:把“国家”作为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,通过“国家代码”字段建立两表之间的关系,表单样式为“阴影式”,按钮类型为“图片按钮”,按“国家名称”升序排列,表单标题为“奥运会获奖情况”。 (2)在 SPORT数据库中使用视图设计器建立一个名为 spo
3、rtview的视图,该视图根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1表示获得一块金牌),视图中包括“国家名称”和“金牌数”两个字段,视图中的记录先按“金牌数”降序排列,金牌数相同的再按“国家名称”降序排列。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform的表单,表单中包含一个列表框和两个命令按钮。 请在该表单中完成如下操作: (1)打开表单,设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。RowSourceTyIpe属性设置为 3,在 RowSource属性中使
4、用 SQL的 SELECTINTO CuRSOR LS语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 (2)编写“生成表”命令按钮的 Click事件代码。程序的功能是根据表单运行时列表框中所选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”3 个字段,并将结果按“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm中,那么在 SQLSELECT。语句中使用短语 into table &gm就可以将选择的记录存入以该国家名命名的自由表中
5、。 (3)运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4个自由表。(分数:2.00)_国家二级 VF机试(操作题)模拟试卷 534答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的 SPORT数据库,并永久删除该数据库中的 temp表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库。 (2)为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)通过 SQL语句为表“金牌榜”增加一个“奖牌总数”(整数型)字段,并为该字段设置有效性规则:奖牌总数0。
6、最后将该 SQL语句存储在文件 oneprg 中。 (4)使用 SQL语句更改表“金牌榜”中所有记录的“奖牌总数”字段值,该值应为“金牌数”、“银牌数”和“铜牌数”3 项之和。请将该 SQL语句存储在文件 twoprg 中。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)打开考生文件夹下的 sport数据库,右键单击表 temp选择删除,在弹出的对话框中选择删除。再添加表“金牌榜”、“获奖牌情况”和“国家”到 sport数据库中。 (2)在数据库设计器中,右键单击表“金牌榜”选择修改和添加普通索引。 (3)新建一个程序 oneprg,为其编写如下代码并运行。 ALTER TABL
7、E 金牌榜 ADD 奖牌总数 INTCHECK奖牌总数0 (4)新建一个程序twoprg,为其编写如下代码并运行。 UPDATE 金牌榜 SET奖牌总数金牌数银牌数铜牌数)解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用: (1)通过一对多表单向导新建一个名为 sport_form的表单。 要求:把“国家”作为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,通过“国家代码”字段建立两表之间的关系,表单样式为“阴影式”,按钮类型为“图片按钮”,按“国家名称”升序排列,表单标题为“奥运会获奖情况”。 (2
8、)在 SPORT数据库中使用视图设计器建立一个名为 sportview的视图,该视图根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1表示获得一块金牌),视图中包括“国家名称”和“金牌数”两个字段,视图中的记录先按“金牌数”降序排列,金牌数相同的再按“国家名称”降序排列。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:通过一对多表单向导新建一个表单。 步骤 2:在“从父表中选定字段”对话框中,将“国家”表中的“国家名称”字段添加到“选定字段”框中。 步骤 3:在“从子表中选定字段”对话框中,将“获奖牌情况”表中的“项目名称”和“名次”字段添加到“
9、选定字段”框中。 步骤 4:在“建立表之间的关系”对话框中,直接单击“下一步”按钮。 步骤 5:在“选择表单样式”对话框中,选中“样式”列表框中的“阴影式”项,选中“按钮类型”列表中的“图片按钮”单选按钮,单击“下一步”按钮。 步骤 6:在“排序次序”对话框中,按“国家名称”升序排序记录。 步骤 7:完成表单设计,输入表单标题为“奥运会获奖情况”,表单文件名为“sport_form”。 (2)【操作步骤】 步骤 1:打开考生文件夹下的数据库 sport,新建一个视图并将“国家”和“获奖牌情况”两个表添加到新建的视图中。 步骤 2:在字段选项卡中,添加字段“国家名称”到选定字段中,并添加一个表达
10、式:count(获奖牌情况名次)aS 金牌数,将表达式添加到选定字段中。 步骤 3:在“筛选”选项卡中设置条件为“获奖牌情况名次1”。 步骤 4:在“排序依据”选项卡中,选择降序,并添加字段“金牌数”和“国家名称”到排序条件列表框中。 步骤 5:在分组依据选项卡中添加字段“国家名称”到分组等段列表框中。 步骤 6:保存视图名为 sport_view并运行视图。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform的表单,表单中包含一个列表框和两个命令按钮。 请在该表单中完成如下操作: (1)打开表单,设置列表框的数据源(RowSource)和数据源类型(
11、RowSourceType)两个属性。RowSourceTyIpe属性设置为 3,在 RowSource属性中使用 SQL的 SELECTINTO CuRSOR LS语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 (2)编写“生成表”命令按钮的 Click事件代码。程序的功能是根据表单运行时列表框中所选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”3 个字段,并将结果按“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm中,那么在
12、 SQLSELECT。语句中使用短语 into table &gm就可以将选择的记录存入以该国家名命名的自由表中。 (3)运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4个自由表。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:打开表单 myform,添加数据环境“国家”表和“获奖牌情况”表。 步骤 2:设置列表框的 RowSourceType属性为“3”,RowSource 属性为“select 国家名称 from国家 into cursor 1s”。 步骤 3:在生成表命令按钮的 Click事件中编写如下命令语句。 *“生成表”按钮的 Click事件代码* SELECT 运动员名称,项目名称,名次; FROM 获奖牌情况,国家; WHERE 国家国家代码=获奖牌情况国家代码; AND 国家名称ThisFormList1list(ThisFormList11istindex); INTO TABLE ThisFormList1list(ThisFormList1listindex); order by 名次 * 步骤 4:保存并按要求运行表单。)解析: