1、国家二级 VF机试(操作题)-试卷 194及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、tabc 和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用报表向导建立一个简单报表,要求
2、选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开“宾馆”数据库,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询房价“价格”大于等于 280元的每个客房的“客房号”、“类型号”(来自客房表)、“类型名”和“价格”。查询结果按“类型号”升序排序,并将查询结果输出到表 tabb中。设计完成后,运行该查询。 (2)修改一个名称为 threeprg 的命令文件。该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的“客户号”、“身份证”、“姓名”、“工作单位”,查询结果
3、包括“姚小敏”本人。查询结果输出到表 tabc中。该命令文件在第 3行、第 5行、第 7行和第 8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.建立“学生”数据库;把自由表 student(学生)、course(课程)和 score(选课成绩)添加到新建立的数据库;建立满足如下要求的表单 fomllist(控件名和文件名) 添加一个表格控件 Gridl,并按学号升序显示学生选课及考试成绩信息(包括字段学号、姓名、院系、课程
4、名称和成绩)。 添加命令按钮“保存”(Commandl)和“退出”(Command2),单击命令按钮“保存”时将表格控件 Gridl中所最示的内容保存到表results(方法不限),单击命令按钮“退出”时关闭并释放表单。运行表单如图 3-10所示。 (分数:2.00)_国家二级 VF机试(操作题)-试卷 194答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、
5、tabc 和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用报表向导建立一个简单报表,要求选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_正确答案:(正确答案:(1)住令窗口执行命令 ODIFY DATABASE test_db ,打开 test_db数据厍砹计器。右击数据库设汁器中的 sell表,选择【修改】打开 sell表设计器,选中“索引”选项卡,“索引名”输入“PK”,“索
6、引”选项卡中将“类型”选择为“主索引”,表达式下方输入“部门号+年度+月份”,建立主索引。 (2)在数据库设计器中右击,选择【添加表】,在“打开”中双击 datatest农添加到数据库中,以同样的方法将 model、tabc 和 pass表添加到数据库中。 (3)在数据设计器中右击,选择【新建表】,在“新建表”中单击“新建表”按钮,在弹出的“创建”对话框的“输入表名”中输入 test,单击“保存”打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮。系统弹出“现在输入数据记录吗?”,单击“否”按钮。 (4)执行【文件】【新建】菜单命令,或单
7、击“常用”工具栏的“新建”按钮,在“新建”中选“报表”,单击向导”按钮,“向导选取”对话框中选“报表向导”项,单击“确定”按钮,启报表向导。 “步骤 1-字段选取”的“数据库和表”下选中 sell表,将“可用字段”令部添加到“选定字段”中。 由于本题不再要求其他操作,可直接单击“完成”按钮跳至向导最后一个界面。单击“完成”按钮,在“另存为”的“保存报表为:”框中输入报表文件名 two,单击“保存”。)解析:解析:本题考查了表索引的建立;数据库的基本操作;数据表的建立;报表向导的使用。 根据多个字段建立索引表达式时,可在表设计器“索引”选项卡的“表达式”中进行设置,或可以直接输入,也可以打开“表
8、达式生成器”建立。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开“宾馆”数据库,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询房价“价格”大于等于 280元的每个客房的“客房号”、“类型号”(来自客房表)、“类型名”和“价格”。查询结果按“类型号”升序排序,并将查询结果输出到表 tabb中。设计完成后,运行该查询。 (2)修改一个名称为 threeprg 的命令文件。该命令文件用来查询与“姚小敏”同一天入住宾馆的每个客户的“客户号”、“身份证”、“姓名”、“工作单位”,查询结果包括“姚小敏”本人。查询结果输出到表 tabc中。该命令文件在第 3
9、行、第 5行、第 7行和第 8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行:OPEN DATABASE 宾馆,打开“宾馆住宿”数据库环境。步骤 2:命令窗口执行:CREATE QUERY two,打开查询设计器,将考生文件火下的“客房”和“房价”表添加到查询设计器中。系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤 3:依次双击“客房”表巾的“客房号”、“类型号
10、”字段和“房价”表中的“类型名”、“价格”字段添加到“字段”选项卡的“选定字段”列表巾。 步骤 4:存“筛选”选项卡中选择“字段名”为“房价价格”,在“条件”为“=”,在“实例”框中输入“280”。 步骤 5:“排序依据”选项卡内双击“选定字段”列表框中的“客房类型号”字段添加到“排序条件”列表框中。 步骤 6:执行【查询】【查询去向】菜单命令,在“查询去向”中单击“表”按钮,存“表名”中输入文件名 tabb,单击“确定”。 步骤 7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:命令窗口执行:MODIFY COMMAND three,打开程序
11、义件,文件中的命令代码如下: *该命令文件用来查询与“姚小敏“同一天入住宾馆的每个客户的客户号、身份证、姓名、工作单位。查询结果输出到表 TABC中。 *该命令文件在第 3行、第 5行、第 7行和第 8行有错误,打开该命令义件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 1 OPEN DATABASE 宾馆 2 SELECT 客户客户号,身份证,姓名,工作单位; 3 FROM客户 JOIN入住; 4 WHERE 入住日期 IN; 5 ( SELECT ; 6 FROM 客户,入住; 7 WHERE 姓名=-“姚小敏“); 8 TO TABLE TABC
12、 修改程序中的错误行,修改后的程序如下: 1 oPEN DATABASE 宾馆 2 SELECT客户客户号,身份证,姓名,工作单位; 3 FROM 客户 JOIN入住 ON客户客户号=入住客户号; 4 wHERE 入住日期工 N; 5 (SELECT 入住日期; 6 FROM 客户,入住; 7 WHERE 客户客户号=入住客户号 and姓名 =“姚小敏“); 8 TNTO 11ARLF TABC 步骤 2:保存文件修改,在命令窗口执行命令:DO THREEPRG,执行程序文件。)解析:解析:(1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出
13、的字段来源于哪个数据表。 在“筛选”选项卡中设置筛选条件,排序是在“排序依据”选项卡中,通过【查询去向】菜单命令打开“查询去向”对话框指定输出去向。 (2)本题主要考查的是 SQL嵌套查询。该程序的功能如下: 通过子查询查找客户名是“姚小敏”的客户入住日期,该查询结果可看作是一个集合,然后在主查询中查找客户入住日期在这个集合中(即“姚小敏”的入住日期)的客户的相关信息。 根据题意,提供的程序段中第 3、5、7、8 行错误,依次判断各行语句可以看出: 第3行是对两个表进行联接的语句,格式一般为 FROMJOINON,其中 ON短语后面接的是两个表的联接条件,本行中缺少该语句。 第 5行中 SEL
14、ECT语句后面应指定输出的字段,本行缺少指定输出的字段。 第 7行中仅指定了筛选条件,并没有指定两个表的联接条件(此处涉及两个表联接操作,因此要指定联接条件),本行应补充该联接条件且通过 AND短语将其与筛选条件联接起来。 第 8行属于固定语法错误,将数据输出到数据表中,应使用 INTO TABLE短语,而不是 TO TABLE。三、综合应用题(总题数:1,分数:2.00)3.建立“学生”数据库;把自由表 student(学生)、course(课程)和 score(选课成绩)添加到新建立的数据库;建立满足如下要求的表单 fomllist(控件名和文件名) 添加一个表格控件 Gridl,并按学号
15、升序显示学生选课及考试成绩信息(包括字段学号、姓名、院系、课程名称和成绩)。 添加命令按钮“保存”(Commandl)和“退出”(Command2),单击命令按钮“保存”时将表格控件 Gridl中所最示的内容保存到表results(方法不限),单击命令按钮“退出”时关闭并释放表单。运行表单如图 3-10所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令:MODIFY DATABASE 学生,创建数据库并打开数据库设计器。 步骤 2:在新建的“学生”数据库设计器中单击右键,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击自由表“student”,将表添加到数据
16、库中。以同样的方法,将“score”和“course”表添加到数据库中。 步骤 3:在命令窗口执行命令:CREATE FORMFORMLIST,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个表格和两个命令按钮控件。 步骤 4:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 4-14。 )解析:解析:本题考查了数据库的基本操作;表单及控件的常用属性和方法的设置;SQL 超连接查询。 利用 MODIFY DATABASE 命令可以新建数据库并打开数据库设计器,在数据库设计器中可以进行添加、新建和删除表等操作;建立数据表可以在表设计器中进行。 本题的关键是表格数据的来源,通过RecordsourceType和 ReCOrdsource属性可以设置表格中显示的数据,本题中表格的数据源类型应为“4-SQL说明”,而数据源通过 SQL超连接查询得出,该语句保存在表格的 Init事件中;由于 SQL语句涉及3个表的数据,因此注意 3个表之间的联系,正确设置各联系字段,其中 student表和 score表通过“学号”字段连接,course 表和 score表通过“课程编号”字段连接;查询结果保存到临时表中,通过表格控件显示。“另存为”按钮中则通过一条简单的 SQL查询语句将临时表的记录输出到永久性表中保存。