1、国家二级 VF机试(操作题)模拟试卷 85及答案与解析 一、基本操作题 1 在考生文件夹下有一表单文件 formone.scx,其中包含一个文本框和一个命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作: (1)将文本框和命令按钮两个控件设置为顶边对齐。 (2)将文本框的默认值设置为 0。 (3)将表单的标题设置为 “基本操作 “,将命令按钮的标题设置为 “确定 “。 (4)设置文本框的 InteractiveChange事件代码,使得当文本框输入负数时,命令按钮为无效,即不能响应用户的操作。 二、简单应用 题 2 (1)扩展 Visual FoxPro基类 Form,创建一个名为
2、MyForm的自定义表单类。自定义表单类保存在名为 myclasslib的类库中。自定义表单类 MyForm需满足以下要求: 1)其 AutoCenter属性的默认值为 .T.。 2)其 Closable属性的默认值为 .F.。 3)当基于该自定义表单类创建表单时,自动包含一个命令按钮。该命令按钮的标题为 “关闭 “,当单击该命令按钮时,将关闭其所在的表单。 (2)利用查询设计器创建查询,从 orders、 orderitems和 goods表中查询 2007年签订的所有订单的信息。查询结果依次包含订单号、客户号、签订日期、总金额四项内容,其中总金额为该订单所签所有商品的金额(单价 *数量)之
3、和。各记录按总金额降序排序,总金额相同按订单号升序排序。查询去向为表 tableone。最后将查询保存在 queryone.qpr文件中,并运行该查询。 三、综合应用题 3 在考生文件夹下创建一个下拉式菜单 mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前 vfp系统菜单的末尾追加一个 “考试 “子菜单,如下图所示。 菜单命令 “统计 “和 “返回 “的 功能都通过执行过程完成。菜单命令 “统计 “的功能是统计 2007年有关客户签订的订单数。统计结果依次包含 “客户名 “和 “订单数 “两个字段,其中客户名即为客户的姓名(在 customers表中)。各记录
4、按订单数降序排序、订单数相同按客户名升序排序,统计结果存放在 tabletwo表中。菜单命令 “返回 “的功能是恢复标准的系统菜单。菜单程序生成后,运行菜单程序并依次执行 “统计 “和 “返回 “菜单命令。 国家二级 VF机试(操作题)模拟试卷 85答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)通过常用工具栏 中的 “打开 “按钮打开考生文件夹下的表单 formone,,选中文本框和命令按钮,选择 “格式 “菜单下 “对齐 “子菜单中的 “顶边对齐 “命令。 (2)选中表单中的文本框控件,在属性窗口中修改其 Value属性为 0。 (3)将表单的 Caption属性值设置为
5、 “基本操作 “,命令按钮的 Caption属性值设置为 “确定 “。 (4)设置文本框的 InteractiveChange事件代码: if thisform.Text1.value0 mand1.enabled=0 endif 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:选择 “文件 “|“新建 “命令,在弹出的 “新建 “对话框中选择 “类 “单选按钮,再单击 “新建文件 “按钮。 步骤 2:在弹出的 “新建类 “对话框中,在 “类名 “文本框中输入 MyForm,在 “派生于“下拉列表中选择 Form,单击 “存储于 “文本框后的按钮,在打开的 “另存为 “对话框选
6、择考生文件夹,再输入文件名 myclasslib,单击 “确定 “按钮。 步骤 3:打开 “类设计器 “窗口,进入类设计器环境。在属性窗口 中,将表单的AutoCenter属性设置为 .T., Closable属性设置为 .F.。在窗体上添加一命令按钮,其Caption属性为 “关闭 “,设置 “关闭 “按钮的 Click事件代码: thisform.release。 (2)【操作步骤】 步骤 1:通过 “新建 “对话框新建查询,并依次把 orders、 orderitems和 goods表添加到查询设计器中。 步骤 2:在 “字段 “选项卡中依次选择 “orders.订单号 “、 “orde
7、rs.客户号 “、 “orders.签订日期 “,在 “函数和表达式 “中输入 “SUM(goods.单价 *orderitems.数量 )AS 总金额 “,并添加到选定字段中。 步骤 3:切换到 “筛选 “选项卡,在表达式输入 “year(orders.签订日期 )“, “条件 “选择“=“, “实例 “中输入 2007。 步骤 4:切换到 “排序依据 “选项卡并在其中选择字段 “SUM( goods.单价 *orderitems.数量) AS 总金额 “,排序选项为 “降序 “,再选择 “orders.订单号 “,排序选项为 “升序“。 步骤 5:切换到 “分组依据 “选项卡并在其中选择字
8、段 “orders.订单号 “;单击 “查询 “菜单下的 “查询去向 “命令,选择表 ,在 “表名 “文本框中输入 tableone。 步骤 6:保存查询为 queryone,并运行该查询。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:新建一个菜单,在 “菜单名称 “中输入 “考试 “,在 “结果 “中选择 “子菜单 “,单击 “创建 “按钮 。在子菜单中分别输入 “统计 “和 “返回 “。 步骤 2:选择 “统计 “的结果为 “过程 “。在过程中输入下列命令: SELECT Customers.姓名 AS 客户名 ,count(Orders.订单号 ) as 订单数 ; FRO
9、M customers INNER JOIN orders ON Customers.客户号 =Orders.客户号 ; WHERE year(Orders.签订日期 )=2007 GROUP BY Customers.姓名 ; ORDER BY 2 DESC,Customers.姓名 INTO TABLE tabletwo 步骤 3:选择 “返回 “的结果为过程,在过程中输入命令: SET SYSMENU TO DEFAULT。 步骤 4:在 “显示 “菜单中选择 “常规选项 “命令,在打开的 “常规选项 “对话框中选择 “追加 “选项。 步骤 3:保存菜单 mymenu.mnx,并生成菜 单程序 mymenu.mpr,且运行菜单程序并依次执行 “统计 “和 “返回 “菜单命令。