1、国家二级 VF 机试(操作题)-试卷 36 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的数据库 SPORT,首先永久删除该数据库中的 temp 表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库中。 (2)在表设计器中,为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)使用 SQL 语句为表“金牌榜”增加一个字段“奖牌总数”(整数型),同时为该字段设置有效件规则:奖牌总数0。请将该 SOL 语句存储在文件 oneprg 中,否则不得分。 (4)使用 SOL 语句更改表“金牌
2、榜”所有记录的“奖牌总数”字段值,该值应为“金牌数”、 “银牌数”、“铜牌数”3 项之和。请将该 SOL 语句存储在文件 twoprg 中,甭则小得分。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)使用一对多表单向导新建一个表单 sport_form。要求:使用“国家”为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,使用“国家代码”建立表之间的关系,表单样式选择“阴影式”,按钮类型选择“图片按钮”,按“国家名称”升序排列,表单标题为“奥运会获奖情况”。 (2)在 SPORT 数据库中使用视图设计器建立视图
3、sport view,该视图根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为“1”表示获得一块金牌),视图中包括“国家名称”和“金牌数”两个数据项,视图中的记录先按“金牌数”降序排列、再按“国家名称”降序排列。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform 的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作: 在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType 属性为 3,在 RowSource 属性中使
4、用 SQL 的 SELECTINTO CURSOR语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的围家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm 中,那么在 SQL SELECT 语句中使用短语 intotablegm 就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”
5、、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4 个自由表。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 36 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开考生文件夹下的数据库 SPORT,首先永久删除该数据库中的 temp 表,然后将“金牌榜”、“获奖牌情况”和“国家”3 个自由表加入该数据库中。 (2)在表设计器中,为表“金牌榜”建立一个普通索引,索引名和索引表达式均为“金牌数”。 (3)使用 SQL 语句为表“金牌榜”增加一个字段“奖牌总数”(整数型),同时为该字段设置有效件规则:奖牌总数0。请将该 SOL
6、 语句存储在文件 oneprg 中,否则不得分。 (4)使用 SOL 语句更改表“金牌榜”所有记录的“奖牌总数”字段值,该值应为“金牌数”、 “银牌数”、“铜牌数”3 项之和。请将该 SOL 语句存储在文件 twoprg 中,甭则小得分。(分数:2.00)_正确答案:(正确答案:【操作步骤】 (1)命令窗口执行:MODIFY DATABASE sport,打开数据库设计器。右击数据库设计器中的 temp 表,选择【删除】,在弹出的对话框中单击“删除”按钮,将“temp”表永久性删除。 在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击“金牌榜”表加到数据中,以同样的方法将“获奖牌情况
7、”表和“国家”表添加到数据库中。 (2)在命令窗口输入如下代码,打开表设计器: USE 金牌榜 MODIFY STRUCTURE 在表设计器的“字段”选项卡中选中“金牌数”,“索引”列“升序”排序方式,单击“确定”保存表结构修改。 (3)命令窗口执行:MODIFY COMMAND one,打开程序文件编辑器。 在编辑器中输入如下程序代码: ALTER TABLE 金牌榜 ADD 奖牌总数 I CHECK 奖牌总数0 命令窗口执行:DO one,执行程序文件。 (4)在命令窗口执行命令:MODIFY COMMAND two,打开程序文件编辑器,输入如下程序代码: UPDAT E 金牌榜 SET
8、奖牌总数金牌数银牌数铜牌数 在命令窗口执行命令:DO two,执行程序文件。)解析:二、简单应用题(总题数:1,分数:2.00)2.(1)使用一对多表单向导新建一个表单 sport_form。要求:使用“国家”为父表并选择“国家名称”字段作为显示字段,“获奖牌情况”为子表并选择“项目名称”和“名次”字段作为显示字段,使用“国家代码”建立表之间的关系,表单样式选择“阴影式”,按钮类型选择“图片按钮”,按“国家名称”升序排列,表单标题为“奥运会获奖情况”。 (2)在 SPORT 数据库中使用视图设计器建立视图 sport view,该视图根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(
9、“名次”为“1”表示获得一块金牌),视图中包括“国家名称”和“金牌数”两个数据项,视图中的记录先按“金牌数”降序排列、再按“国家名称”降序排列。(分数:2.00)_正确答案:(正确答案:(1)【操作步骤】 步骤 1:命令窗口执行:OPEN DATABASE SPORT,打开数据库环境。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“表单”,单击“向导”图标按钮,弹出“向导选取”对话框,选“一对多表单向导”项,单击“确定”按钮,启动表单向导。 步骤 3:“步骤 1-从父表中选定字段”的“数据库和表”下选“围家”表,将“可用字段”中的“同家名称”
10、字段添加到“选定字段”中,单击“下一步”按钮。 步骤4:“步骤 2-从子表中选定字段”的“数据库和表”下选“获奖牌情况”表,将“可用字段”中的“项目名称”和“名次”字段字段添加到“选定字段”中,单击“下一步”。 步骤 5:“步骤 3-建立表之间的关系”界面系统自动建立两个表的联系,单击“下一步”按钮。 步骤 6:“步骤 4-选择表单样式”选“样式”中的“阴影式”,“按钮类型”中选“图片按钮”,单击“下一步”。 步骤 7:“步骤 5-排序次序” 中双击“可用的字段或索引标识”中的“围家名称”字段到“选定字段”列表中,单击“下一步”按钮。 步骤 8:“步骤 6-充成”界面中的“请键入表单标题”下方
11、文本框中输入“奥运会获奖情况”,单击“完成”按钮。 步骤 9:在“另存为”对话框的“保存表单为:”框中输入表单文件名 spott form,单击“保存”按钮。 (2)【操作步骤】 步骤 1:命令窗口执行:MODIFY DATABASE sport,打开数据库设计器。 步骤 2:在数据库设计器中右击,选择【新建本地视图】,在“新建本地视图”中单击“新建视图”按钮,在“添加表或视图”对话框中依次双击“围家”和“获奖牌情况”表,将表添加到视图设计器中。 步骤 3:双击“国家”表中的“国家名称”字段添加到“选定字段”中;在“函数和表达式”框中输入:COUNT(*)AS 金牌数,单击“添加”按钮添加到“
12、选定字段”列表中。 步骤 4:在“筛选”选项卡的“字段名”下拉列表中选择“获奖牌情况名次”字段,在“条件”中选择“”,在“实例”中输入“1”。 步骤 5:在“排序依据”选项卡中双击“选定字段”列表框中的“COUNT(*) AS 金牌数”字段添加到“排序条件”列表框中,“排序选项”中“降序”;再双击“选定字段”中的“国家国家名称”字段添加到“排序条件”列表框中,在“排序选项”中选择“降序”单选项。 步骤 6:在“分组依据”选项卡中双击“选定字段”列表框中的“国家国家名称”字段,添加到“分组字段”。 步骤 7:单击“常用”工具栏中的“运行”按钮查看结果,以 sport_view 名保存视图。)解析
13、:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform 的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作: 在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType 属性为 3,在 RowSource 属性中使用 SQL 的 SELECTINTO CURSOR语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的围家名称,将“获奖牌情
14、况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm 中,那么在 SQL SELECT 语句中使用短语 intotablegm 就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4 个自由表。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:命令窗口执行:MODIFY FORM myform,打开表单设计器修改表单。 步骡 2:选中表单中的列表框(List
15、1),在属件面板中修改其 RowSourceType 属性值为:3SQL语句;同时指定 RowSource 属性值为: SELECT 国家名称 FROM 国家 INTO CURSOR mylist 步骤 3:双击“生成表”命令按钮,编写 Click 事件代码。代码如下: *“生成表”按钮的 Click 事件代码* 1 gm“SS“ 2 gmTHISFORMLIST1VALUE 3 SELECT 运动员名称,项目名称,名次; 4 FROM 获奖牌情况,国家 WHERE 国家国家名称gm; 5 AND 获奖牌情况国家代码国家国家代码; 6 ORDER BY 名次 INTO DBF gm 步骤 4:单击“常用”工具栏中的“运行”按钮查看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4 个条目生成对应的表,将表单文件保存到考生文件夹。)解析: