1、国家二级 VF 机试(操作题)-试卷 21 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)请在考生文件夹下建立一个项目 xm。 (2)将考生文件夹下的数据库 kshj 加入到新建的项目 xm 中。(3)利用视图设计器在数据库中建立视图 myview,视图包括“获奖情况”表的全部字段(顺序同“获奖情况”表中的字段)和全部记录。 (4)从表“获奖情况”中查询“等级”为“一等奖”的学生的全部信息(“国籍”表的全部字段),并按“分数”的升序存入新表 temp 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下
2、,打开招生数据库 sdb,完成如下简单应用: (1)使用一对多表单向导选择 ksb 表和kscjb 表生成一个名为 two 的表单。要求从父表 ksb 中选择所有字段,从子表 kscjb 中选择所有字段,使用“考生号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自。ksb),升序;表单标题为“考生数据输入维护”。 (2)在考生文件夹下打开命令文件 threeprg,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表 three 中。注意,该命令文件在第 3 行、第 6 行、第 9 行有错误,打开该命令文件,直接在错误处修改,不可
3、改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform 的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下: “查询”按钮(Commandl):在该按钮的“Click”事件中使用 SQL 的 SELECT 命令查询选课数量大于等于 4 门且平均成绩大于等于 75 分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two 中。表 two 中的字段名分别为:学号、姓名、平均成绩、选课门数。 “
4、退出”按钮(Command2):单击“退出”按钮时,关闭表单。 表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 21 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)请在考生文件夹下建立一个项目 xm。 (2)将考生文件夹下的数据库 kshj 加入到新建的项目 xm 中。(3)利用视图设计器在数据库中建立视图 myview,视图包括“获奖情况”表的全部字段(顺序同“获奖情况”表中的字段)和全部记录。 (4)从表“获奖情况”中查询“等级”为“一等奖”的学生的全部信息(“国籍”表的
5、全部字段),并按“分数”的升序存入新表 temp 中。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: CREATE PROJECT xm ,新建一个项目管理器。 (2)在项目管理器中选中“数据”选项卡内的“数据库”项,然后单击“添加”按钮,在弹出的“打开”对话框中双击 kshj 数据库文件,将数据库添加到项目管理器中。 (3)在项目管理器中单击“数据库”前面的“+”号,依次展开“数据库”“kshi”。如图 4-8 所示。 选中“本地视图”项单击“新建”按钮,接着在弹出的“新建本地视图”对话框中单击“新建视图”图标按钮,打开视图设计器。在“添加表或视图”对话框中双击“获奖情
6、况”表,将表添加到视图设计器中。 在“字段”选项卡中单击“全部添加”按钮,将“可用字段”中的全部字段添加到“选定字段”中。 单击“常用”工具栏中的“运行”按钮查看结果,将视图文件以文件名 myview 保存。 (4)在命令窗口输入以下命令,将结果输出到 temp表中(以下程序是通过查询设计器生成)。 )解析:解析:本大题考查了项目管理器的建立及使用;视图设计器及查询设计器的使用。 新建项目可以通过菜单、工具栏或命令方式完成;向项目中添加数据库可以通过项目管理器右侧的“添加”命令按钮完成。 视图和查询的操作类似,在设计第 4 小题时,熟悉 SQL 命令的考生也可以直接通过编写 SQL 命令进行查
7、询。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开招生数据库 sdb,完成如下简单应用: (1)使用一对多表单向导选择 ksb 表和kscjb 表生成一个名为 two 的表单。要求从父表 ksb 中选择所有字段,从子表 kscjb 中选择所有字段,使用“考生号”建立两表之间的关系,样式为阴影式;按钮类型为图片按钮;排序字段为考生号(来自。ksb),升序;表单标题为“考生数据输入维护”。 (2)在考生文件夹下打开命令文件 threeprg,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表 three 中。注意,该命令文件在第 3 行、第
8、 6 行、第 9 行有错误,打开该命令文件,直接在错误处修改,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行: OPEN DATABASE sdb ,打开 SDB 数据库。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“表单”选项,单击“向导”按钮, “向导选取”对活框中选“一对多表单向导”项,单击“确定”,启动向导。 步骤 3: “步骤 1-从父表选择字段”的“数据库和表”下选“kbs”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。 步
9、骤 4:“步骤 2-从字表选择字段”的“数据库和表”下选“kscib”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”。 步骤 5:“步骤 3-建立表之间的关系”中系统自动建立两个表的联系,单击“下一步”。 步骤 6:“步骤 4-选择表单样式”的“样式”下选“阴影式”,在“按钮类型”下“图片按钮”,单击“下一步”。 步骤 7:“步骤 5-排序次序”中双击“可用的字段或索引标识”中的“考生号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。 步骤 8:“步骤 6-完成”中的“请键入表单标题”下方输入“考生数据输入维护”,单击“完成”按钮。 步骤 9:在“另存为”对话框的“保存
10、表单为:”框中输入表单文件名 two,单击“保存”按钮。 (2)步骤 1:命令窗口执行: MODIFY COMMAND three ,打开 threeprg 程序,命令中的命令代码如下: *该命令文件用来查询所有成绩都高于或等丁平均分的学生的考生号和姓名。并将查询结果存储到表 THREE 中。 *该命令文件在第 3 行、第 6 行、第 9 行有错误,打开该命令文件。 *直接在错误处修改,不可改变 SQL 语句的结构和短语的顺序,不允许增加、删除或合并行。 1 SELECT AVG(成绩);2 FROM kscjb; 3 INTO CURSOR tem 4 SELECT 考生号,姓名; 5 FR
11、OM ksb; $ WHERE 考生号 EXISTS ; 7 (SELECT*; 8 FROM kscjb; WHERE 成绩 )解析:解析:(1)本题主要考查的是表单向导的使用。 (2)本题主要考查的是 SQL 简单查询和嵌套查询。本题先用一个 SQL 简单查询获得平均分,由于平均分是一个数字,并且以后还要将考生成绩与该平均分进行比较,所以应将其存放在一个数组中,而不是存放在临时表中,所以应将第一处错误 INTO CURSOR temp 改为 INTOARRAY temp。 题中第二个 SQL 语句为嵌套查询,使用了 exists 谓词,用来检查子查询中是否有结果返回。根据本题要求,要查找所
12、有成绩都高于或等于平均分的学生的考生号和姓名,换句话说,也就是只要考生有一门成绩小于平均分,该考生就不符合条件。查询的基本过程是:对于外查询中的 ksb表中的每个考生号,在内查询中的 kscjb 表中判断是否该考生编号有一门成绩小于平均成绩,只要有一门成绩小于平均成绩,该考生号都不该被查找出来,故第二处错误是在外查询中的条件中应使用 not exists,而不是 exists。在内查询中,条件“成绩三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下,先打开学生数据库 sdb,然后创建文件名为 tform 的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下:
13、 “查询”按钮(Commandl):在该按钮的“Click”事件中使用 SQL 的 SELECT 命令查询选课数量大于等于 4 门且平均成绩大于等于 75 分的每个同学的学号、姓名、平均成绩和选课门数,查询结果按平均成绩降序排序并存储到表 two 中。表 two 中的字段名分别为:学号、姓名、平均成绩、选课门数。 “退出”按钮(Command2):单击“退出”按钮时,关闭表单。 表单设计完成后,运行该表单,点击“查询”按钮进行查询。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE EORM tform ,建表单。从“表单工具栏”中依次向表单添加两个命令按钮。 步骤 2:选择表单对象,修改对象属性值,见表 4-17。 )解析:解析:本题主要考查的是表单的建立、常用属性的设置;SQL 简单查询及 SQL 简单计算查询。 “统计”按钮中需要设计一个 SQL 查询,用于计数的函数为 COUNT(),用于求平均值的函数为 AVG()。