1、国家二级 VF 机试-试卷 69-1 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下的“职员管理”数据库中完成下列基本操作: (1)为“员工信息”表增加一个字段,字段名为“EMAIL”,类型为“字符型”,宽度为“20”。 (2)设置“员工信息”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。 (3)在“员工信息”表中,将所有记录的 EMAlL 字段值用“部门编号”的字段值加上“职工编号”的字段值再加上“xxxcomcn”进行替换。 (4)通过“部门编号”字段建立“员工信
2、息”表和“部门”表间的永久联系。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)在考生文件夹下的数据库“考试成绩”中建立视图“myview”。具体要求是:视图中的数据取自表“student”。按“出生年份”排序(升序),“年份”相同的按“学号”排序(升序)。其中字段“年份”等于系统的当前时间中的年份减去学生的年龄。 (2)使用表单向导制作一个表单,要求选择“sc”表中的所有字段。表单样式为“标准式”,按钮类型为“图片按钮”,表单标题为“成绩查看”,最后将表单保存为“myForm”。(分数:2.00)_三、综合应用题(总题数:2,分
3、数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有一个名为 myform 的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType 属性为 3,在 RowSource 属性中使用 SQL 的 SELECT.INTO CURSOR语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获
4、奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm 中,那么在 SQL SELECT 语句中使用短语 into table &gm 就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4 个自由表。(分数:2.00)_国家二级 VF 机试-试卷 69-1 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()
5、(分数:2.00)_解析:2.在考生文件夹下的“职员管理”数据库中完成下列基本操作: (1)为“员工信息”表增加一个字段,字段名为“EMAIL”,类型为“字符型”,宽度为“20”。 (2)设置“员工信息”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。 (3)在“员工信息”表中,将所有记录的 EMAlL 字段值用“部门编号”的字段值加上“职工编号”的字段值再加上“xxxcomcn”进行替换。 (4)通过“部门编号”字段建立“员工信息”表和“部门”表间的永久联系。(分数:2.00)_正确答案:(正确答案:(1)选择【文件】【打开】命令,在“打开”对话框的“文件类型”下拉列表框
6、中选择“数据库”,选择“职员管理dbc”,单击“确定”按钮,打开数据库设计器。 在“数据库设计器”中,选择表“员工信息”,单击鼠标右键,在弹出的快捷菜单中选择“修改”命令,打开表设计器。 在“表设计器”中,单击“字段”选项卡,单击最后一行,输入字段名“EMAIL”,“类型”为“字符型”,“宽度”为“20”。 (2)在“员工信息”表设计器的“字段”选项卡中,选择“性别”字段,在“字段有效性”的“规则”文本框中输入“性别=“男“ OR 性别=“女“”,“默认值”文本框中输入“女“”,单击“确定”按钮关闭表设计器并保存表“员工信息”结构。 (3)在“数据库设计器”中,选择表“员工信息”,单击鼠标右键
7、,在弹出的快捷菜单中选择“浏览”,打开数据浏览窗口。 选择【表】【替换字段】命令,打开“替换字段”对话框,在“字段”下拉列表框中选择“EMAIL”字段,在“替换为”文本框中输入“部门编号+职工编号+“xxxcomcn“”,在“替换条件”的“作用范围”下拉列表框中选择“ALL”,单击“替换”命令按钮进行字段值替换。 (4)在数据库设计器中,将“部门”表中“索引”下面的“部门编号”主索引字段拖曳到“员工信息”表中“索引”下而的“部门编号”索引字段上,建立两个表之间的永久性联系。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)在考生文件夹下的
8、数据库“考试成绩”中建立视图“myview”。具体要求是:视图中的数据取自表“student”。按“出生年份”排序(升序),“年份”相同的按“学号”排序(升序)。其中字段“年份”等于系统的当前时间中的年份减去学生的年龄。 (2)使用表单向导制作一个表单,要求选择“sc”表中的所有字段。表单样式为“标准式”,按钮类型为“图片按钮”,表单标题为“成绩查看”,最后将表单保存为“myForm”。(分数:2.00)_正确答案:(正确答案:(1)打开数据库“考试成绩”设计器,单击工具栏上的“新建”图标,选择“新建文件”。 将“student”表添加到视图设计器中。 在视图设计器中的“字段”选项卡中,将“可
9、用字段”列表框中的字段全部添加到“选定字段”列表框中,在“函数与表达式”框中输入“YEAR(DATE()-Student_a年龄 AS 出生年份”,并将该表达式添加到选定字段中。 在“排序依据”选项卡中将“选定字段”列表框中的“出生年份”和学号依次添加到“排序条件”中(升序)。 将视图以“myview”文件名保存。 (2)单击【开始】【新建】【表单】【向导】【表单向导】; 单击“数据库和表”右下边的按钮,选择考生目录下的“sc”表,选择全部字段; 单击“下一步”,表单样式设置为“标准式”,按钮类型为“图片按钮”。 单击两次“下一步”按钮,设置表单标题为“成绩查看”。 保存表单文件名为“myFo
10、rm”。)解析:三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有一个名为 myform 的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作:在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType 属性为 3,在 RowSource 属性中使用 SQL 的 SELECT.INTO CURSOR语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序
11、的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm 中,那么在 SQL SELECT 语句中使用短语 into table &gm 就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4 个自由表。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY FORM myform ,打开
12、表单设计器修改表单。 步骤 2:选中表单中的列表框(List1),在属性面板中修改其 RowSourceType 属性值为:3-SQL 语句;同时指定 RowSource 属性值为: SELECT 国家名称 FROM 国家 INTO CURSOR mylist 。 步骤 3:双击“生成表”命令按钮,编写 Click 事件代码。代码如下: *“生成表”按钮的 Click 事件代码* gm=“SS“ gm=THISFORMLIST1VALUE SELECT 运动员名称,项目名称,名次,FROM 获奖牌情况,国家WHERE 国家国家名称=gm; AND 获奖牌情况国家代码=国家国家代码; ORDER
13、 BY 名次 INTO DBF &gm 步骤 4:单击“常用”工具栏中的“运行”按钮查看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4 个条目生成对应的表,将表单文件保存到考生文件夹下。)解析:解析:本大题考查了表单及控件的常用属性和方法的设置;SQL 简单联接查询。 本题关键是 SQL查询语句中怎样将列表框中被选中的“国家名称”内容命名为表名,由于列表框中被选定的条目不固定,因此不能利用一个常量来指定查询输出的表名。解决此问题的方法就是先定义一个变量等于列表框中的被选定的条目值,然后使用宏替换函数(&)将变量值替换出来,即使列表框的值无论怎样改变,替换出来的数据都是列表框被选中的条目值。 另外,本题进行联接查询的两个表是“国家”表和“获奖牌情况”表,联接字段为“国家代码”,利用 ORDER BY 短语可对查询结果排序,利用 INTO DBF(或 INTO TABLE)短语将结果输出到数据表中。