1、国家二级 VF机试(操作题)模拟试卷 76 及答案与解析 一、基本操作题 1 在考生目录下完成如下操作: (1)打开 “订货管理 “数据库,并将表 order_detail添加到该数据库中。 (2)为表 order_detail的 “单价 “字段定义默认值为 NULL。 (3)为表 order_detail的 “单价 “字段定义约束规则:单价 0,违背规则时的提示信息是: “单价必须大于零 “。 (4)关闭 “订货管理 “数据库,然后建立自由表 customer,表结构如下: 客户号 字符型 (6) 客户名 字符型 (16) 地 址 字符 型 (20) 电 话 字符型 (14) 二、简单应用题
2、 2 在考生目录下完成如下简单应用: (1)列出总金额大于所有订购单总金额平均值的订购单 (order_list)清单 (按客户号升序排列 ),并将结果存储到 results表中 (表结构与 order_list表结构相同 )。 (2)利用 Visual Foxpro 的 “快速报表 “功能建立一个满足如下要求的简单报表: 1)报表的内容是 order_detail表的记录 (全部记录,横向 ); 2)增加 “标题带区 “,然后在该带区中放置一个标签控件,该标签控件显示报表的标题 “器件清单 “; 3)将页注脚区默认显示的当前日期改为显示当前的时间; 4)最后将建立的报表保存为 report1
3、.frx。 三、综合应用题 3 首先将 order_detail表全部内容复制到 od_bak表,然后完成如下操作: (1)将 od_bak表中的订单号字段值只保留最后一个字母 (用 REPLACE 命令或 SQL UPDATE命令完成修改 ); (2)用 SQL语句对 od_bak表编写完成如下功能的程序: 1)把 “订单号 “相同并且 “器件号 “相同的订单合并为一条记录, “单价 “取最低价, “数量 “取合计; 2)结果先 按新的 “订单号 “升序排序,再按 “器件号 “升序排序; 3)最终记录的处理结果保存在 od_new表中,表中的字段由 “订单号 “, “器件号 “, “器件名
4、“, “单价 “和 “数量 “构成; (3)最后将程序保存为 prog1.prg,并执行该程序。 国家二级 VF机试(操作题)模拟试卷 76 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)步骤 1:单击常用工具栏中的 “打开 “按钮,选择打开数据库文件订货管理。 步骤 2:在 “数据库设计器 -订货管理 “中单击鼠标右键,显示弹出菜单,选择 “添加表 “命令项,并选择相应的 表文件即可( order_detail)。 (2)步骤 1:在 “数据库设计器 -订货管理 “中,选择表 “order_detail“并单击鼠标右键,选择 “修改 “命令项。 步骤 2:在 “表设计器
5、-order_detail.dbf“中,选择字段名为 “单价 “,在 NULL处进行打勾(允许空值),最后单击 “确定 “按钮即可。 (3)步骤 1:在 “数据库设计器 -订货管理 “中,选择表 “order_detail“并单击鼠标右键,选择 “修改 “命令项。 步骤 2:在 “表设计器 -order_detail.dbf“中,选择 “单价 “字段,在 “字段有效性 “标签的 “规则 “处输入 “单价 0“,在 “信息 “处输入 “单价必须大于零 “,最后单击 “确定 “按钮即可。 (4)使用命令建立表文件 如果数据库没有关闭,那么关闭数据库 CLOSE DATABASE CREATE TA
6、BLE customer (客户号 C(6), 客户名 C(16), 地址 C(20), 电话 C(14) 二、简单应用题 2 【正确答案】 (1)【操作步骤】 在 命令窗口输入下列语句。 SELECT * FROM order_list WHERE 总金额 (SELECT AVG(总金额 ) FROM order_list) ORDER BY 客户号 INTO TABLE results (2)【操作步骤】(本题操作在表 order_detail添加到数据库的基础上进行) 步骤 1:单击常用工具栏中的 “新建 “按钮,文件类型选择 “报表 “,打开报表设计器。选择菜单栏中 “报表 “菜单,在
7、下拉菜单中选择 “快速报表 “。 步骤 2:在弹出的对话框中选择字段按钮,在字段选择器中选择 order_detail表的全部字段。点击确定。 步骤 3:在 “快速报表 “对话框中,单击 “确定 “按钮,在报表设计器窗口中,单击 “报表 “标题 /总结 “菜单项,接着显示 “标题 /总结 “对话框,在对话框的 “报表标题 “处选中 “标题带区 “,单击 “确定 “按钮。 步骤 4:在 “标题 “带区增加一个标签 “器件清单 “。 步骤 5:在 “页注脚 “带区选定中 “DATE()“并单击鼠标右键,在弹出菜单中选择 “属性 “菜单项,并显示 “报表表达式 “对话框,然后单击 “表达式 “文本框
8、右边的 “.“按钮,从 “日期 “列表框中选择 “TIME()“,单击 “确定 “按钮 ,返回到 “报表表达式 “对话框中,再单击 “确定 “按钮即可。 步骤 6:单击常用工具栏中的 “保存 “按钮,输入文件名为 report1.frx,点击保存,即完成快速报表的创建。 三、综合应用题 3 【正确答案】 【操作步骤】 创建程序文件 prog1.prg,输入以下语句,并执行该程序。 SET SAFETY OFF SELECT * FROM order_detail INTO DBF od_bak SELECT od_bak REPLACE ALL 订单号 WITH RIGHT(ALLTRIM(订单号 ),1) SELECT 订单号 ,器件号 ,器件名 ,MIN(单价 ) AS 单价 ,SUM(数量 ) AS 数量 FROM od_bak GROUP BY 订单号 ,器件号 ,器件名 ORDER BY 订单号 ,器件号 INTO DBF od_new BROWSE CLOSE DATABASE