1、国家二级 VF 机试(操作题)-试卷 307 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操作:(1)新建一个名为“图书管理”的项目。 (2)在项目中建立一个名为“图书”的数据库。 (3)将考生文件夹下的所有自由表添加到“图书”数据库中。 (4)在项目中建立查询book_qu:查询价格大于等于 10 的图书(book 表)的所有信息,查询结果按价格降序排序。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)根据考生文件夹下的 xxx 表和 jjj 表建立一个查询 chaxun,查询“工作单位”是
2、“复旦大学”的所有教师的“姓名”、“职称”、“联系电话”,要求查询去向是表,表名是 cx1dbf,并执行该查询(“姓名”、“职称”取自表 jjj,“联系电话”取自表 xxx)。 (2)建立表单 form1,表单中有两个命令按钮,按钮的名称分别为 query 和 close,标题分别为“查询”和“关闭”。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.当 order_detail 表中的单价修改后,应该根据该表的“单价”和“数量”字段修改 order_list 表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据 order_detail 表中的记录重新计算
3、 order_list 表的总金额字段的值。 一条 order_list,记录可以对应几条 order_detail 记录。 在编程前应保证在基础操作中正确地建立了 order_list 表,在简单应用中为该表追加了记录(注意:只能追加一次)。 最后将 order_list 表中的记录按总金额降序排序存储到 od_new 表中。(表结构与order_list 表完全相同) 将程序保存为 proglprg 文件。(分数:2.00)_国家二级 VF 机试(操作题)-试卷 307 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下完成如下操
4、作:(1)新建一个名为“图书管理”的项目。 (2)在项目中建立一个名为“图书”的数据库。 (3)将考生文件夹下的所有自由表添加到“图书”数据库中。 (4)在项目中建立查询book_qu:查询价格大于等于 10 的图书(book 表)的所有信息,查询结果按价格降序排序。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: CREATE PROJECT 图书管理 ,新建一个项目管理器。 (2)项目管理器中,选中“数据”选项卡内的“数据库”项,单击“新建”按钮,在“新建数据库”中单击“新建数据库”按钮,在弹出的“创建”中的“数据库名”中输入“图书”,单击“保存”新建数据库并打开数据库设计器
5、。 (3)在数据库设计器中右击,选择【添加表】,在“打开”对话框中双击 book 表添加到数据库中。以同样的方法将 boows 表和 loans 表也添加到数据库中。 (4)在项目管理器中,选中“数据”选项卡内的“查询”项,单击“新建”按钮,在“新建查询”对话框中单击“新建查询”按钮,打开查询设计器,在“添加表或视图”对话框中,双击 book 表,将表添加到查询设计器中。 据题目要求,在“字段”选项卡的“可用字段”中,将全部字段都添加到“选定字段”列表中。 “筛选”选项卡内的“字段名”下拉列表框中选择“book价格”,在“条件”下拉列表框中选择“=”,在“实例”下拉列表框中输入:10。 “排序
6、依据”选项卡内双击“选定字段”中的“价格”,将其添加到“排序条件”中,“排序选项”中选“降序”。 最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件以文件名 book qu 保存到考生文件夹下。)解析:解析:本题考查了项目管理器建立和使用;在项目管理器中建立数据库和查询。二、简单应用题(总题数:1,分数:2.00)2.(1)根据考生文件夹下的 xxx 表和 jjj 表建立一个查询 chaxun,查询“工作单位”是“复旦大学”的所有教师的“姓名”、“职称”、“联系电话”,要求查询去向是表,表名是 cx1dbf,并执行该查询(“姓名”、“职称”取自表 jjj,“联系电话”取自表 xxx)。
7、 (2)建立表单 form1,表单中有两个命令按钮,按钮的名称分别为 query 和 close,标题分别为“查询”和“关闭”。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: CREATE QUERY chaxun ,打开查询设计器。在“添加表或视图”对话框中单击“其他”按钮,然后在弹出的“打开”对话框中双击 xxx 表,将表添加到查询设计器中,以同样的方法将 jjj 表也添加到查询设计器中。 步骤 2:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。如图 39 所示。 步骤 3:依次双击 jjj
8、 表中的“姓名”、“职称”字段和 xxx 表中的“联系电话”字段,添加到“字段”选项卡的“选定字段”列表中;然后在“筛选”选项卡的“字段名”下拉列表中选择“xxx工作单位”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“复旦大学”。 步骤4:执行【查询】【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 cx1,单击“确定”按钮。如图 310 所示。 步骤 5:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2) 步骤 1:在命令窗口执行命令: CREATE FORM form1 ,打开表单设计器新建表单。
9、从“表单控件”工具栏中依次向表单添加两个命令按钮控件。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 32。 )解析:解析:(1)本题考查的是在查询设计器中新建查询的操作。操作过程中要注意确认查询输出的字段来源于哪个数据表,设置查询条件是在“筛选”选项卡中进行,查询去向可通过执行【查询】【查询去向】菜单命令,在“查询去向”对话框中进行操作,本题属于一个比较简单的查询操作。 (2)本题考查的是表单的创建及表单和控件最常见属性的修改,新建表单可以通过打开“新建”对话框进行操作,也可以直接通过命令完成;向表单添加控件可以通过选择“表单控件”工具栏中的按钮完成
10、,而属性的修改可以在“属性”面板中进行。三、综合应用题(总题数:1,分数:2.00)3.当 order_detail 表中的单价修改后,应该根据该表的“单价”和“数量”字段修改 order_list 表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据 order_detail 表中的记录重新计算 order_list 表的总金额字段的值。 一条 order_list,记录可以对应几条 order_detail 记录。 在编程前应保证在基础操作中正确地建立了 order_list 表,在简单应用中为该表追加了记录(注意:只能追加一次)。 最后将 order_list 表中的记
11、录按总金额降序排序存储到 od_new 表中。(表结构与order_list 表完全相同) 将程序保存为 proglprg 文件。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND prog1 ,新建程序并打开程序编辑器。 步骤 2:在程序编辑器中输入如下程序代码: CLOSE DATABASE USE ORDER_LIST SELECT 订单号,SUM(单价*数量)AS AA; FROM ORDER_DETAIL; GROUP BY 订单号 ORDER BY 订单号; INTO CURSOR FF SELECT ORDER_LIST DO
12、WHILE!EOF() SELE FF LOCATE FOR 订单号=ORDER_LIST订单号 SELE ORDER_LIST REPLACE 总金额 WITH FFAA SKIP ENDDO SELECT * FROM ORDER_LIST ORDER BY 总金额DESC INTO DBF OD_NEW 步骤 3:单击“常用”工具栏中的“运行”按钮运行程序。)解析:解析:本题主要考查的是程序文件的建立、DO WHILE 循环结构和 SQL 分组计算查询。 本题的基本解题思路是: 以 order_list 表为当前表,通过 SQL 分组与计算查询从 order_detail 表中按订单号分组计算每组订单的总金额,并按订单号排序,将结果保存到临时表中。 接着通过 do while 循环逐条处理order_list 中订单号与,临时表中订单号相同的记录,利用 replace 命令修改 order_list 的总金额字段值等于临时表中对应的总金额字段值。 最后用 SQL 简单查询将 order_list 表中的记录保存到表 OD NEW中。