1、国家二级 VF 机试(操作题)-试卷 97 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下有表单文件 formone.scx,其中包含一个文本框和一个命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)将表单的标题修改为“表单操作“,命令按钮的标题修改为“显示“。(2)设置文本框的初始值为数值 0、宽度设置为 60。(3)设置文本框的 InputMask 属性,使其只能输入数值,其中:小数部分为两位、整数部分(包括符号)最多为 5 位。(4)修改命令按钮的 Click 事件代码,使其中的 wait 命令功能为显示
2、文本框的值。注意:需要将文本框中的数值转换成字符串,其中,小数位数保留两位,字符串的长度为 8。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)编写 SQL 语句,从 customers(客户)表中统计各年份出生的客户人数。统计结果依次包含“年份“和“人数“两个字段,各记录按年份升序排序,统计结果存放在 tableone 表中。最后执行该 SQL 语句,并将该语句存放在命令文件 pone.prg 中。(2)创建数据库 orders_m,并向其中添加 customers(客户)表和orders(订单)表。然后在数据库中创建视图 viewone:利用该视图只能查询 200
3、7 年签订的订单信息,各记录按签订日期降序排列。最后利用该视图查询视图中的全部信息,并将查询结果存放在表 tabletwo 中。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个未完成的程序文件 ptwo.prg,其功能是进行订单处理,具体功能如下:(1)利用SELECT 语句产生 goods(商品)表的一个副本 goods_t 表。(2)根据 orders、orderitems 和 goods_t 三个表中的数据,按照签订日期的先后次序依次处理各订单:(a)若订单所订购的所有商品都有足够的库存量,则相关商品的库存量做相应处理,即减去该商品的订购数量,然后
4、将该订单的状态设置为“处理“;(b)若订单中有商品没有有足够的库存量,则整个订单不做处理,即没有商品库存量被改变,只需将该订单的状态设置为“缺货“。程序中共有 5 条语句需要考生给定,请根据程序文件中相应的注释信息将正确的语句插入在形如“ count(customers.姓名) as 人数; FROM customers; GROUP BY 1; ORDER BY 1; INTO TABLE tableone.dbf * 保存程序为 pone.prg 并运行。 (2)【操作步骤】 步骤 1:通过“新建“对话框新建一个数据库,文件名为“orders_m“,在数据库设计器中右键单击数据库的空白处,
5、选择“添加表“命令,将表“customer“和“orders“添加到数据库中。 步骤 2:新建一个视图,将表“orders“添加到视图设计器中,并在其字段选项卡中将所有字段添加到“选定字段“列表框中。 步骤 3:在筛选选项卡中,字段名列设置为“year(orders.签订日期)“,条件列选择“,实例框中输入“2007“。 步骤 4:在排序依据选项卡中,选择按“orders.签订日期“降序排序。 步骤 5:将视图保存为“viewone“。 步骤 6:新建一个查询,将“viewone“视图添加到新建的查询中,选择全部字段,设置查询去向为表“tabletwo“,保存并运行查询,查询文件名默认。)解析
6、:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个未完成的程序文件 ptwo.prg,其功能是进行订单处理,具体功能如下:(1)利用SELECT 语句产生 goods(商品)表的一个副本 goods_t 表。(2)根据 orders、orderitems 和 goods_t 三个表中的数据,按照签订日期的先后次序依次处理各订单:(a)若订单所订购的所有商品都有足够的库存量,则相关商品的库存量做相应处理,即减去该商品的订购数量,然后将该订单的状态设置为“处理“;(b)若订单中有商品没有有足够的库存量,则整个订单不做处理,即没有商品库存量被改变,只需将该订单的状态设置为“缺货“
7、。程序中共有 5 条语句需要考生给定,请根据程序文件中相应的注释信息将正确的语句插入在形如“&语句“的注释前,不要增、删或修改其他代码。完善程序后,必须执行该程序以产生相应的结果。(分数:2.00)_正确答案:(正确答案:【操作步骤】 步骤 1:通过常用工具栏中的“打开“命令打开考生文件夹下的程序文件“ptwo.prg“。 步骤 2:按题目要求填入相应的语句如下。 语句 1:SET RELATION TO 商品号 INTO goods_t 语句 2:SET RELATION TO 订单号 INTO orderitems 语句 3:if 数量goods_t.库存量 语句4:SKIP -n 语句 5:库存量 = 库存量 - orderitems.数量 步骤 3:保存修改后的程序文件并运行。)解析: