1、国家二级 VF机试(操作题)模拟试卷 381及答案与解析 一、基本操作题 1 在考生文件夹下已有 customers(客户 )、 orders(订单 )、 orderitems(订单项 )和goods(商品 )四个表。 (1)创建一个名为 “订单管理 ”的数据库,并将已有的 customers表添加到该数据库中。 (2)利用表设计器为 customers表建立一个普通索引,索引名为 bd,索引表达式为“出生日期 ”。 (3)在表设计器中为 customers表的 “性别 ”字段设置有效性规则,规则表达式为:性别 $“男女 “,出错提示信息是: “性别必须是男或女 ”。 (4)利用 INDEX命
2、令为 customers表建立一个普通索引,索引名为 khh,索引表达式为 “客户号 ”,索引存放在 customers cdx中。然后将该 INDEX命令存入命令文件 pone prg中。 二、简单应用题 2 (1)在考生文件夹下创建表单文件 formone scx,如图 228所示,其中包含一个标签 Label1、一个文本框 Text1和一个命令按钮 Command1。然后按相关要求完成相应操作。 如图 228所示设置表单、标签和命令按钮 的 Caption属性。 设置文本框的 Value属性值为表达式 Date()。 设置 “查询 ”按钮的 Click事件代码,使得表单运行时单击该按钮能
3、够完成如下查询功能:从 customers表中查询指定日期以后出生的客户,查询结果依次包含 “姓名 ”、 “性别 ”、 “出生日期 ”3项内容,各记录按 “出生日期 ”降序排序,查询去向为表tableone。 最后运行该表单,查询 1980年 1月 1日以后出生的客户。 (2)向名为 “订单管理 ”的数据库 (在基本操作题中建立 )添加 orderitems表。然后在数据库中创建视图, viewone:利用该视图可以从 orderitems表查询统计各商品的订购总量,查询结果依次包含 “商品号 ”和 “订购总量 ”(即所有订单对该商品的订购数量之和 )两项内容,各记录按 “商品号 ”升序排序。
4、最后利用该视图查询视图中的全部信息,并将查询结果存放在表 tabletwo中。 三、综合应用题 3 在考生文件夹下创建一个顶层表单 myform scx(表单的标题为 “考试 ”),然后创建并在表单中添加菜单 (菜单的名称为 mymenu mnx,菜单程序的名称为mymenu mpr)。效果如图 229所示。 菜单命令 “计算 ”和 “退出 ”的功能都通过执行过程完成。 菜单命令 “计算 ”的功能是根据 orderitems表和 goods表中的相关数据计算各订单的总金额 (一个订单的 “总金额 ”等于它所包含的各商品的金额之和,每种商品的 “金额 ”等于 “数量 *单价 ”),并将计算的结果
5、填入 orders表的相应字段中。 菜单命令 “退出 ”的功能是释放并关闭表单。 最后,请运行表单并依次执行其叶,的 “计算 ”和 “退出 ”菜单命令。 国家二级 VF机试(操作题)模拟试卷 381答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行 : MODIFY DATABASE 订单管理,新建数据库并打开数据库设计器。 在数据库设计器中右击,选择【添加表】,在 “打开 ”对话框中双击 customers表添加到数据库中。 (2)在数据库设计器中右击 customers表,选择【修改】,打开表设计器, “字段 ”选项中选 “出生日期 ”, “索引 ”列中选择
6、“升序 ”, “索引 ”选项卡中,修改 “索引名 ”为“bd”。 (3)接上题,在 customers表设计器的 “字段 ”选项卡中选中 “性别 ”, “字段有效性 ”的 “规则 ”文本框中输入:性别 $“男女 “,在 “信 息 ”文本框中输入: ”性别必须是男或女 ”,单击 “确定 ”按钮保存表结构的修改。 (4) 命令窗口执行: MODIFY COMMAND pone,新建程序文件并打开程序编辑器。输入命令: INDEX ON客户号 TAG_khh。 单击 “常用 ”工具栏中的 “运行 ”保存并运行程序。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:命令窗口执行: CR
7、EATE FORM formone,打开表单设计器新建表单。 步骤 2:向表单添加一个标签、一个文本框和一个命令按钮控件。选择表单对象,修改对象属性值,见表 330。步骤 3:编写 “查询 ”命令按钮的的 Click事件代码: 1 SELECT姓名,性别,出生日期; 2 FROM customers; 3 WHERE Customers出生日期 thisform text1 value; 4 ORDEE BY 出生日期 DESC; 5 INTO TABLE tableone dbf 步骤 4:单击 “常用 ”工具栏的 “运行 ”按钮保存并运行表单,文本框中输入 “01 01 1980”后单击
8、“查询 ”按钮。 (2)【操作步骤】 步骤 1:命令窗口执行: MODIFY DATABASE 订单管理。在数据库设计器中右击,选择【添加表】,在 “打开 ”对话框中双击 orderitems表添加到数据库中。 步骤 2:在命令窗口执行如下 SQL命令语句建立视图: 1 OPEN DATABASE 订单管理 2 CREATE VIEW viewone AS; 3 SELECT Orderitems商品号, SUM(Orderitems数量 )AS订购总量; 4 FROM订单管理 !orderitems; 5 GROUP BY Orderitems商品号; 6 ORDER BY Orderite
9、ms商品号 步骤 3:在命令窗口执行如下 SQL语句保存查询结果: SELECT * FROM viewone INTO TABLE tabletwo 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:命令窗口执行: CREATE FORM myform,打开表单设计器新建表单。设置表单 (form1)的 Caption属性为 “考试 ”。 步骤 2:命令窗口执行: CREATE MENU mymenu,在 “新建菜 单 ”对话框中单击“菜单 ”按钮,打开菜单设计器。 步骤 3:在菜单设计器 “菜单名称 ”列的文本框中依次输入 “计算 ”和 “退出 ”两个主菜单名,将两个菜单项的 “结
10、果 ”都设置为 “过程 ”,分别单击两个过程后面的 “创建 ”按钮打开过程编辑器,编写过程代码。 步骤 4:两个过程代码如下: *“计算 ”菜单命令的过程代码 * 1 CLOSE ALL 2 USE orders 以 orders表为当前表 3 DO WHILE NOT EOF() 4 SELECT SUM(Orderitems 数量 *Goods单价 ) ZJE; 5 FROM 订单管理 !orderitems INNER JOIN goods; 6 ON Orderitems商品号 Goods商品号; 7 WHERE Orderitems 订单号 Orders订单号; 8 GROUP BY
11、 Orderitems订单号; 9 INTO ARRAY TEMP 10 REPLACE 总金额 WITH TEMP 11 SKIP 12 ENDDO *“退出 ”菜单命令的过程代码 * myform.release 步骤 5:执行【显示】 【常规选项】菜单命令,在 “常规选项 ”对话框中勾选“顶层表单 ”复选框,单击 “确定 ”按钮,保存修改。 步骤 6:执行【菜单】 【生成】菜单命令,在弹出的对话框中单击 “是 ”按钮,弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件(mymenu mpr)。 步骤 7:命令窗口执行: MODIFY FORM myform,打开表单设 计器。选中表单,设置表单 (form1)的 ShowWindow属性值为 “2作为顶层表单 ”。 步骤 8:编写表单的 LOAD事件代码如下: DO mymenu.mpr WITH THIS,.T. 步骤 9:单击 “常用 ”工具栏中的 “运行 ”查看结果,保存表单文件,并分别执行 “计算 ”和 “退出 ”菜单命令。