1、国家二级 VF 机试(操作题)-试卷 15 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)请在考生文件夹下建立一个项目 xm。 (2)将考生文件夹下的数据库 kshj 加入到新建的项目 xm 中。 (3)利用视图设计器在数据库中建立视图 myview,视图包括“获奖情况”表的全部字段(顺序同“获奖情况”表中的字段)和全部记录。 (4)从表“获奖情况”中查询“等级”为“一等奖”的学生的全部信息(“国籍”表的全部字段),并按“分数”的升序存入新表 temp 中。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)将 o
2、rder_listl 表中的全部记录追加到 order_list 表中,然后用 SQL SELECT 语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到 results 表中(其中客户号、客户名取自 customer 表,订单号、总金额取自 order_list 表)。 (2)打开 form1 表单,并按如下要求进行修改(注意:最后保存所做的修改): 表单中有 5 个随机排列的命令按钮,不要移动或改变“基准按钮”的位置(否则影响成绩),然后使其他命令按钮与“基准按钮”左部对齐。 在这组命令按钮的右边添加一个表格控件,并将它的 RecordSourceTyp
3、e 属性设置为“表”,然后设置另一个相关属性使在表格控件中显示 customer。表的记录。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.使用报表设计器建立一个报表,具体要求如下: 报表的内容(细节带区)是 order_list 表的订单号、订购日期和总金额。 增加数据分组,分组表达式是“order_list客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。 增加标题带区,标题是“订单分组汇总表(按客户)”,要求是三号字、黑体,括号是全角符号。 增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1f
4、rx 文件。 提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 15 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)请在考生文件夹下建立一个项目 xm。 (2)将考生文件夹下的数据库 kshj 加入到新建的项目 xm 中。 (3)利用视图设计器在数据库中建立视图 myview,视图包括“获奖情况”表的全部字段(顺序同“获奖情况”表中的字段)和全部记录。 (4)从表“获奖情况”中查询“等级”为“一等奖”的学生的全部信息(“国籍”表的全部字段),并按“分数”的升序存入新表 t
5、emp 中。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令:CREATE PROJECT xm,新建一个项目管理器。 (2)在项目管理器中选中“数据”选项卡内的“数据库”项,然后单击“添加”按钮,在弹出的“打开”对话框中双击 kshj 数据库文件,将数据库添加到项目管理器中。 (3)在项目管理器中单击“数据库”前面的“+”号,依次展开“数据库”“kshi”。如图 38 所示。 )解析:解析:本大题考查了项目管理器的建立及使用;视图设计器及查询设计器的使用。 新建项目可以通过菜单、工具栏或命令方式完成;向项目中添加数据库可以通过项目管理器右侧的“添加”命令按钮完成。 视图和查
6、询的操作类似,在设计第 4 小题时,熟悉 SQL 命令的考生也可以直接通过编写 SQL 命令进行查询。二、简单应用题(总题数:1,分数:2.00)2.(1)将 order_listl 表中的全部记录追加到 order_list 表中,然后用 SQL SELECT 语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到 results 表中(其中客户号、客户名取自 customer 表,订单号、总金额取自 order_list 表)。 (2)打开 form1 表单,并按如下要求进行修改(注意:最后保存所做的修改): 表单中有 5 个随机排列的命令按钮,不要移动或
7、改变“基准按钮”的位置(否则影响成绩),然后使其他命令按钮与“基准按钮”左部对齐。 在这组命令按钮的右边添加一个表格控件,并将它的 RecordSourceType 属性设置为“表”,然后设置另一个相关属性使在表格控件中显示 customer。表的记录。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:在命令窗口执行如下 SQL 命令语句并执行: SELECT * FROM ORDER_LIST1 INTO ARRAY TEMP INSERT INTO ORDER LIST FROM ARRAY TEMP 步骤 2:在命令窗口执行如下 SQL 命令语句并执行(以下 SQL 语句是通过
8、查询设计器生成的): SELECT customer客户号, customer客户名,Order_list订单号,; Order_list总金额; FROM 订货管理!order_list INNER JOIN customer ; ON order_list客户号=customer客户号; ORDER BY Order-list总金额 DESC; INTO TABLE resultsDhf (2) 步骤 1:在命令窗口执行命令: MODIFY FORM form1 ,打开表单设计器修改表单。 步骤 2:右击工具栏的空白区域,选择【布局】快捷菜单命令,打开表单的“布局”工具栏(如果表单设计器中
9、没有显示该工具栏,则执行该操作)。 步骤 3:同时选中表单中的 5 个按钮,然后单击“布局”工具栏中的“左边对齐”按钮(第 1 个图标按钮),如图 351 和图 352 所示。 步骤4:在表单设计器中 5 个按钮的右侧添加一个表格控件,在“属性”面板的下拉框中选择表格 grid1 对象,在“全部”选项卡中修改表格对象属性值,见表 3-38。 )解析:解析:(1 本题考查了 SQL 简单查询和联接查询。 要将 order_list1 表中的全部记录追加到order_list 表中,可以分两步实现:先将 order_list1 表的所有记录查询出来保存在数组中,再通过该数组向 order_list
10、 表中插入所有记录,这里会用到 SQL 的 INSERT INTO 语句。 题目中要求的 SQL SELECT 查询语句是联接查询。对于掌握 SQL 语句不熟练的考生来说,可以通过查询设计器生成 SQL 语句。(2)本题主要考查了表单控件常用属性的设置;“布局”工具栏的使用。 在表单设计器中,可以通过“布局”工具栏方便地调整表单窗口中被选控件的相对大小和位置。三、综合应用题(总题数:1,分数:2.00)3.使用报表设计器建立一个报表,具体要求如下: 报表的内容(细节带区)是 order_list 表的订单号、订购日期和总金额。 增加数据分组,分组表达式是“order_list客户号”,组标头带
11、区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。 增加标题带区,标题是“订单分组汇总表(按客户)”,要求是三号字、黑体,括号是全角符号。 增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1frx 文件。 提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE REPORT REPORT1 ,打开报表设计器。 步骤 2:右击报表选择【数据环境】,在报表数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击 order_list 表,将表添加到报
12、表数据环境中。 步骤 3:右击报表数据环境中的 order_list 表,选择【属性】,在报表属性面板中修改“Order”属性值为“客户号”,该操作是为了让记录能按“客户号”索引排序的数据。 步骤 4:从报表数据环境的 order_list 表中,依次拖动“订单号”、“订购日期”和“总金额”字段到报表设计器的细节带区,再通过“报表控件”工具栏向报表的“页标头”中添加 3 个名为“订单号”、“订购日期”和“总金额”的标签控件,调整标签与细节带区字段的位置。如图 330 所示。 步骤 5:执行【报表】【数据分组】菜单命令,弹出“数据分组”对话框,单击“表达式”行的表达式生成器按钮,在其中的“字段”
13、列表中双击“order_list客户号”字段,单击“确定”返回“数据分组”表达式,单击“确定”关闭对话框,可看到添加了“组标头”和“组注脚”两个带区。如图331 所示。 步骤 6:调整组标头的显示区域(向下拖动“组标头”栏),将 order_list 表中的“客户号”字段拖到该区域,并添加一个名为“客户号:”的标签控件。 步骤 7:调整组注脚的显示区域,通过“报表控件”工具栏向报表的“组注脚”添加一个域控件,系统弹出“报表表达式”对话框,单击“表达式”行的表达式生成器按钮,在“表达式生成器”对话框的“字段”列表中双击“order_list总金额”字段,单击“确定”按钮返回“报表表达式”对话框;
14、单击“格式”行中的表达式按钮弹出“格式”对话框,选中“数值型”选项,单击“确定”按钮返回“数据分组”表达式;在“报表表达式”对话框中单击“计算”按钮,在“计算字段”对话框中选中“总和”,单击“确定”按钮返回“数据分组”表达式,单击“确定”按钮关闭对话框,可看到“组注脚”区域增加了一个“总金额”域控件。为该字段添加名为“总金额:”的标签。如图 332 所示。 步骤 8:执行【报表】【标题总结】菜单命令,在“标题总结”对话框中分别勾选“标题带区”和“总结带区”复选框,单击“确定”按钮可看到报表设计器中添加了“标题”和“总结”带区。 步骤 9:执行【报表】【默认字体】菜单命令,在“字体”对话框中选“
15、字体”为“黑体”,“字号”为“三号”;接着再向报表的“标题”带区添加个标签控件,输入标签标题为:订单分组汇总袭(按客户);再按照“步骤 7”的操作,为“总结”带区添加一个“总金额”的域控件和一个“总金额:”的标签。设计结果如图 333(a)所示。单击“常用”工具栏中的“预览”按钮可浏览报表设计效果,如图 333(b)所示。 )解析:解析:本大题考查的是分组报表的设计。建立分组报表的关键包括以下几点: 在数据环境中要指定索引项便于记录分组,这是最关键的步骤,可以通过报表“属性”面板中的“order”属性指定,注意指定前要先向数据环境中添加表。 指定索引项后,在“数据分组”对话框中设置“数据分组”表达式是:order list客户号。 将表中字段按要求放到报表各个带区之后,再利用域控件计算总金额数值,注意本题有两个计算“总金额”的地方,一个是每组的总金额,另一个是全部记录的总金额,注意两个总金额所处的带区位置不要弄错;另外,设置域控件格式时,格式应为“数值型”,计算方式为“总和”,分别在“格式”对话框和“计算字段”对话框中进行设置。 最后,设置报表标签格式可以通过【报表】【默认字体】菜单命令打开“字体”对话框进行设置,注意,应先设置标签的字体格式,然后再向报表设计器中添加标签,该字体格式的设置对已存在的标签文字无效。