1、国家二级 VF机试模拟试卷 211及答案与解析 一、基本操作题( 30分) 1 (1)建立项目 “超市管理 ”;并把 “商品管理 ”数据库加入到该项目中。 (2)为 “商品 ”表增加字段:销售价格 N(6, 2),该字段允许出现 “空 ”值,默认值为 NULL。 (3)为 “销售价格 ”字段设置有效性规则:销售价格 =0;出错提示信息是: “销售价格必须大于等于零 ”。 (4)用报表向导为 “商品 ”表创建报表:报表中包括 “商品 ”表中全部字段,报表样式用 “经营式 ”,报表中数据按 “商品编码 ”升序排列,报表文件名 report_a frx。其余按缺省设置。 二、简单应用题( 40分)
2、2 (1)建立一个查询 score query。查询评委为 “歌手编号 ”是 “01002”的歌手所打的分数,结果存入自由表 result中,该自由表的字段项包括: “评委姓名 ”和 “分数 ”,各记录按 “分数 ”升序排列。最后运行该查询。 (2)根据上一步操作得到的自由表 result建立一个报表。要求: 使用报表向导建立报表,报表中包括 “评委姓名 ”和 “分数 ”两个字段,按 “分数 ”字段降序排列,报表标题设置为空,报表文件命名为 score_result。 打开报表 score result,利用报表控件标签,将 “王岩盐得分情况 ”添加到报表中作为报表的标题。 三、综合应用题(
3、30分) 3 当 order_detail表中的单价修改后,应该根据该表的 “单价 ”和 “数量 ”字段修改order_list表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据 order_detail表中的记录重新计算 order_list表的总金额字段的值。 一条 order_list记录可以对应几条 order_detail记录。 在编程前应保证在基础操作中正确地建立了 order_list表,在简单应用中为该表追加了记录 (注意:只能追加一次 )。 最后将 order_list表中的记录按总金额降序排序存储到 od_new表中。 (表结构与 order_list表
4、完全相同 ) 将程序保存为 prog1 prg文件。 国家二级 VF机试模拟试卷 211答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: CREATE PROJECT 超市管理,新建一个项目管理器。 在项目管理器中选中 “数 据 ”选项卡内的 “数据库 ”项,然后单击“添加 ”按钮,在弹出的 “打开 ”对话框中双击 “商品管理 ”数据库文件,将数据库添加到项目管理器中。 (2) 在项目管理器中单击 “数据库 ”前面的 “+”号,依次展开 “数据库 ”“ 商品管理 ”“ 表 ”,选中 “商品 ”表,然后单击 “修改 ”命令按钮,打开 “商品 ”表设计器。 在
5、表设计器 “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “销售价格 ”,在 “类型 ”下拉框中选择 “数值型 ”,在 “宽度 ”文本框中输入“6”, “小数位数 ”中输入 “2”,单击 “NULL”列的无符号按钮,使其按钮被选 中 (被选中的按钮上会出现一个 “”符号 )。 然后在 “字段有效性 ”的 “默认值 ”文本框中输入: NULL。如图 2-64所示。(3)紧接上一小题操作,在“商品 ”表中选中 “销售价格 ”字段,在 “字段有效性 ”的 “规则 ”文本框中输入;销售价格 = 0,在 “信息 ”框中输入: ”销售价格必须大于等于 0”,单击 “确定 ”按钮保存表结
6、构修改。 (4) 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 在报表向导的 “步骤 1-字段选取 ”界面的 “数据库和表 ”下选中 “商品 ”表 (如果没有显示表,则单击 “数据库和表 ”下拉框旁边的按钮,在 “打开 ”对话框中选择表 ),将 “可用字段 ”中全部字段添加到 “选定字段 ”中,单击 “下一步 ”按钮。 跳过“步骤 2-分组记录 ”界面继续单击 “下一步 ”按钮。 在报表向导的
7、 “步骤 3-选择报表样式 ”界面中选中 “样式 ”列表中的 “经营式 ”,单击 “下一步 ”按钮。 跳过 “步骤 4-定义报表布局 ”继续单击 “下一步 ”按钮。 在报表向导的 “步骤 5-排序记录 ”界面中 双击 “可用的字段或索引标识 ”中的 “商品编码 ”字段到 “选定字段 ”列表中,然后单击“升序 ”单选项,单击 “下一步 ”按钮。 在报表向导的 “步骤 6-完成 ”界面中单击 “完成 ”按钮,在 “另存为 ”对话框的 “保存报表为: ”框中输入报表文件名 report_a,单击“保存 ”按钮。 【试题解析】 本题考查了项目管理器的建立和使用;数据库表有效性规则的建立;报表向导的使用
8、。 需要注意的是字段有效性规则是在表设计器中建立的, “默认值 ”、 “规则 ”和 “信息 ”的设置均属于字段有效性规则范围,在输入各有效性规则的值时要注意对应 的数据类型。 本题可以通过项目管理器打开表设计器进行操作;项目管理器和报表的向导的操作者都属于最基本的操作。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: CREATE QUERYscorequery,打开查询设计器,将考生文件夹下的 “评委表 ”和 “评分表 ”添加到查询设计器中。 步骤 2:添加两个表后,系统弹出 “联接条件 ”对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”按钮
9、设置两个表的联系。 步骤 3:依次双击 “评委表 ”中的 “评委姓名 ”字段和 “评分表 ”中的 “分数 ”字段添加到 “字段 ”选项卡的 “选定字段 ”列表中。 步骤 4:在 “筛选 ”选项卡中,选择 “字段名 ”为 “评分表歌手编号 ”, “条件 ”为“=”,在 “实例 ”框中输入 “01002”。 步骤 5:在 “排序依据 ”选项卡内双击 “选定字段 ”列表框中的 “评分表分数 ”字段,将字段添加到 “排序条件 ”列表框中。 步骤 6:执行【查询】 【查询去向】菜单命令,在弹出的 “查询去向 ”对话框中单击 “表 ”图标按钮,接着在 “表名 ”中输入文件名 result,单击 “确定 ”
10、按钮。 步骤 7:最后单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:执行【文件】 【新建】菜单命令,在弹出的 “新建 ”对话框中选中“报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 2:在报表向导的 “步骤 1-字段选取 ”界面的 “数据库和表 ”下选中 “result”表,将 “可用字段 ”中全部字段添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 3:跳过 “步骤 2-分组记录 ”界面继续单击 “下一步 ”按钮。 步骤 4:跳过 “步
11、骤 3-选择报表样式 ”界面继续单击 “下一步 ”按钮。 步骤 5:跳过 “步骤 4-定义报表布局 ”界面继续单击 “下一步 ”按钮。 步骤 6:在报表向导的 “步骤 5-排序记录 ”界面中双击 “可用的字段或索引标识 ”中的 “分数 ”字段到 “选定字段 ”列表中,然后单击 “降序 ”单选项,单击 “下一步 ”按钮。 步骤 7:在报表向导的 “步骤 6-完成 ”界面中,选中 “报表标题 ”文本框中的文字,然后按键盘上的 Delete键删除文字,单击 “完成 ”按钮,在 “另存为 ”对话框的 “保存报表为: ”框中输入报表文件名 score_result,单击 “保存 ”按钮。 步骤 8:在命
12、令窗口执行命令: MODIFY REPORT score_result,在报表设计器中打开刚建立的报表文件。 步骤 9:通过 “报表控件 ”工具栏向报表的 “标题 ”带区添加一个标签控件,并输入标签标题:王岩盐得分情况。适当地调整标签的位置,保存报表修改。 【试题解析】 (1)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认壶询输出的字段来源 于哪个数据表本题的操作比较简单,按照题目要求在各选项卡中完成相应的操作即可。 (2)本题考查的是报表向导及报表设计器的使用。 利用报袁向导创建报表比较简单,只需按照向导提示完成题目所要求的设置即可,建立报表后在报
13、表设计器中打开报表,并通过 “报表控件 ”工具栏向报表添加标签,设置报表的标题。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: MODIFY COMMANDprog1,新建程序并打开程序编辑器。 步骤 2:在程序编辑器中输入如下程序代 码: CLOSE DATABASE USE ORDER_LIST SELECT订单号, SUM(单价 *数量 ) AS AA; FROM ORDER_DETAIL; GROUP BY订单号 ORDER BY订单号; INTO CURSOR FF SELECT ORDER_LIST DO WHILE !EOF() SELE FF L
14、OCATE FOR订单号 =ORDER LIST订单号 SELE ORDER_LIST REPLACE 总金额 WITH FF AA SKIP ENDDO SELECT * FROM ORDER_LIST ORDER BY 总金额 DESC INTO DBF OD_NEW 步骤 3:单击 “常用 ”工具栏中的 “运行 ”按钮运行程序。 【试题解析】 本题主要考查的是程序文件的建立、 DOWHILE循环结构和 SQL分组计算查询。 本题的基本解题思路是: 以 order list表为当前表,通过 SQL分组与计算查询从 order detail表中按订单号分组计算每组订单的总金额,并按订单号排序,将结果保存到临时表中。 接着通过 do while循环逐条处理 order list中订单号与临时表中订单号相同的记录,利用 replace命令修改 order_list的总金额字段值等于临时表中对应的总金颇字段值。 最后用 SQL简单查询将 order_list表中的记录保存到表 OD_NEW中。