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