1、国家二级 VF机试(操作题)模拟试卷 22 及答案与解析 一、基本操作题 1 (1)在考生文件夹下创建一个名为 “订单管理 “的数据库,并将已有的 employee和orders两个表添加到该数据库中。 (2)为 orders表建立一个按降序排列的普通索引,索引名为 je,索引表达式为 “金额“。 (3)在 “订单管理 “数据库中新建一个名为 customer的表,表结构如下: 客户号 字符型 (4) 客户名 字符型 (36) 地址 字符型 (36) (4)为 customer表建立主索引,为 orders建立普通 索引,索引名和索引表达式均为 “客户号 “,通过 “客户号 “为 custom
2、er表和 orders表建立一个一对多的永久联系。 二、简单应用题 2 (1)在考生文件夹下有一个名为 formone.scx的表单文件,如下图所示,其中包含一个文本框、一个表格和两个命令按钮。 请按下列要求完成相应的操作: 1)通过 “属性 “窗口将文本框 Text1的 Value属性值设置为当前系统日期(日期型,不含时间 )。 2)通过 “属性 “窗口将表格 Grid1的 RecordResourceType属性值设置为 “4 SQL说明 “。 3)修改 “确定 “按钮的 Click事件代码。使得单击该按钮时,表格 Grid1内将显示指定日期以后 (含 )签订的订单信息,包括 “订单号 “
3、、 “签订日期 “和 “金额 “3个字段。 4)设置 “关闭 “按钮的 Click事件代码。使得单击该按钮时,将关闭并释放表单。 (2)利用查询设计器创建查询,要求根据 employee表和orders表对各组在 2001年所签订单的金额进行统计。统计结果仅包含那些总金额大于等于 500的组,各记录包括 “组别 “、 “总金额 “、 “最高金额 “和 “平均金额 “4个字段;各记录按 “总金额 “降序排序;查询去向为表 tableone。最 后将查询保存在queryone.qpr文件中,并运行该查询。 三、综合应用题 3 (1)在考生文件夹下创建一个名为 mymenu.mnx 的下拉式菜单,运
4、行该菜单程序时会在当前 Visual FoxPro系统菜单的末尾追加一个 “考试 “子菜单,如下图所示。 “统计 “和 “返回 “菜单命令的功能都通过执行 “过程 “完成。菜单命令 “统计 “的功能是以某年某月为单位求订单金额的和。统计结果包含 “年份 “、 “月份 “和 “合计 “3项内容 (若某年某月没有订单,则不应包含记录 )。统计结果应按年份降序排列,若年份相同再按月份升序排列,并 存放在 tabletwo表中。 “返回 “菜单命令的功能是返回 Visual FoxPro的系统菜单。 (2)创建一个项目 myproject.pjx,并将已经创建的菜单mymenu.mnx设置成主文件。然
5、后连编生成应用程序 myproject.app。最后运行myproject.app,并依次执行 “统计 “和 “返回 “菜单命令。 国家二级 VF机试(操作题)模拟试卷 22 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)通过 “新建 “对话框创建一个数据库,文件名为 “订单管理 “,在打开的数据库设计器中右击空 白处,选择 “添加表 “命令,将考生文件夹下的 “employee“和 “orders“两个表添加到 “订单管理 “数据库中。 (2)在数据库设计器中右击 “orders“表,选择 “修改 “命令,在打开的表设计器中选择 “索引 “选项卡,输入索引名 “je“,选
6、择类型为 “普通索引 “, “表达式 “为 “金额 “,最后单击 “确定 “按钮,保存对表的修改。 (3)在打开的数据库设计器中右击空白处,选择 “新建表 “命令,保存表文件为“customer“,在打开的表设计器中,按题目要求设置 customer表的结构。 (4)在数据库设计器中右击 “orders“表,选择 “修改 “命令,在打开的表设计器的 “字段“选项卡中设置 “客户号 “字段为升序,在 “索引 “选项卡中为 “orders“表建立普通索引,索引名和索引表达式均为 “客户号 “。以同样的方式为 “customer“表建立主索引,索引名和索引表达式均为 “客户号 “,最后从主索引拖动鼠
7、标至普通索引以建立两表之间的永久联系。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:单击工具栏中的 “打开 “按钮,打开表单 formone.scx,在属性窗口中设置Text1的 Value属性为 “=date()“。设置表格控件的 RecordSourcetype 属性为 “4 SQL说明 “。 步骤 2:双击表单中的 “确定 “按钮,修改其 Click事件代码如下。 错误 1: set century to 4 正确: set century on 4 错误 2: va text1.value 正确: va=thisform.text1.value 错误 3: this
8、.grid1.RowdSource=st 正确: thisform.grid1.RecordSource=st 步骤 3:双击 “关闭 “按钮,编写其 Click事件代码为 “ThisForm.Release“。 (2)【操作步骤】 步骤 1:通过 “新建 “对话框新建查询,将考生文件夹下的 “employee“和 “orders“两个表添加到查询设计器中。在查询设计器中的 “字段 “选项卡中,添加字段 “employee.组别 “、表达式 “sum(orders.金额 ) as 总金额 “、表达式 “max(orders.金额 ) as 最高金额 “和表达式 “avg(orders.金额 )
9、 as 平均金额 “到 “选定字段 “列表框中。 步骤 2:在查询设计器中的 “筛选 “选项卡中,选择 “字段名 “下拉列表中的 “表达式 “选项打开 “表达式生成器 “对话框,在其中设置表达式 “year(orders.签订日期 )“,在 “条件 “下拉列表框中选择 “=“,在 “实例 “文本框中输入 “2001“;在 “排序依据 “选项卡中,设置按 “总金额 “降序排序;在 “分组依据 “选项卡中,将 “employee.组别 “字段添加到 “分组字段 “列表框中。单击 “满足条件 “按钮,在 “满足条件 “对话框中选择字段名为 “总金额 “,条件为 “=“,实例中输入 “500“ 步骤
10、3:选择 “查询 “菜单下的 “查询去向 “命令,在弹出的 “查询去向 “对话框中选择表,输入表名为 “tableone“,并关闭该对话框。保存查询文件名为 “queryone.qpr“,并运行查询。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:通过 “新建 “对话框新建一个菜单,然后选择 “显示 “菜单下的 “常规选项 “命令,在弹出的 “常规选项 “对话框中单击 “位置 “中的 “追加 “单选按钮,单击 “确定 “按钮。 步骤 2:按照题目的要求新建一个 “考试 “菜单,设置该菜单的 “结果 “为 “子菜单 “,再单击 “创建 “按钮建立两 个菜单项 “统计 “和 “返回 “
11、,结果均设置为 “过程 “。编写 “统计 “菜单项的过程代码如下。 *“统计 “菜单项的过程代码 * SELECT year(orders.签订日期 ) as 年份 ,month(orders.签订日期 ) as 月份 ,; sum(orders.金额 ) as 合计 ; FROM orders ; GROUP BY 2,1; HAVING 合计 = 0; ORDER BY 1 DESC, 2; INTO TABLE tabletwo.dbf * 编写 “返回 “菜单项的过程代码为 “ set sysmenu to default“。 步骤 3:保存菜单为 “mymenu“,选择 “菜单 “菜
12、单中的 “生成 “命令,生成该菜单的可执行文件,运行菜单查看设计结果。 步骤 4:通过 “新建 “菜单新建一个项目,文件名为 myproject。在项目管理器中单击“其他 “选项卡,选中 “菜单 “项并单击右侧的 “添加 “按钮,将新建的菜单文件“mymenu“添加到项目中。 步骤 5:展开项目管理器 “其他 “选项卡中的 “菜单 “项,右击 “mymenu“,查看其中的“设置为主文件 “是 否被选中 (前面有对号标记 ),如果没有就需要单击此项。在项目管理中单击 “连编 “按钮,选中 “连编选项 “对话框中的 “连编应用程序 “单选按钮,并单击 “确定 “按钮,保存程序名为 “myproject.app“。 步骤 6:单击 “程序 “菜单中的 “运行 “命令,打开其中的 “myproject.app“,然后依次执行 “统计 “和 “返回 “命令。