1、国家二级 VF机试(操作题)模拟试卷 284及答案与解析 一、基本操作题 1 在考生文件夹下,完成如下操作: 1打开考生文件夹下的表单 one,如下图所示,编写 “显示 ”命令按钮的 Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份 (提示:通过设置文本框的 Value属性实现,系统日期函数是 date(),年份函数是 year()。 2打开考生文件夹下的表单 two,如下图所示,选择 “表单 ”菜单中的 “新建方法程序 ”命令,在 “新建方法程序 ”对话框中,为该表单新建一个 test方 法,然后双击表单,选择该方法编写代码,该方法的功能是使 “测试
2、 ”按钮变为不可用,即将该按钮的 Enabled属性设置为 F。 3创建一个名为study_report的快速报表,报表包含表 “课程表 ”中的所有字段。 4为 “教师表 ”的“职工号 ”字段增加有效性规则:职工号左边 3位字符是 110,表达式为: LEFT(职工号, 3)=“110“。 二、简单应用题 2 1在考生文件夹下存在表单文件 formone SCX,其中包含一个列表框、一个表格和一个命令按钮,如下图所示。 按要求完成相应的操作: (1)将 orders表添加到表单的数据环境中。 (2)将列表框 List1设置成多选,并将其 RowSourceType属性值设置为 “8一结构 ”、
3、 RowSource属性值设置为 orders。 (3)将表格 Gridl的 RecordSourceType的属性值设置为 “4一 SQL说明 ”。 (4)修改 “显示 ”按钮的 Click事件代码,使得当单击该按钮时,表格 Gridl内将显示在列表框中所选 orders表中指定字段的内容。 2利用查询设计器创建一查询,要求从 orders、 employee和 customer表中查询 2001年 5月 1日 (含 )以后所签订单的所有信息。查询结果依次包含 “订单号 ”、 “签订日期 ”、 “金额 ”、 “签订者 ”和 ”客户名 ”5项内容,其中 “签订者 ”为签订订单的职员姓名。各记录
4、按签订日期降序排列,若签订日期相同按金额降序排序;查询去向为表 tableone。最后将查询保存在queryone qpr文件中,并运行该查询。 三、综合应用题 3 在考生文件夹下完成下列操作: 在考生文件夹下创建一个下拉式菜单mymenu mnx,并生成菜单程序 mymenu mpr。运行该菜单程序时会在当前 vfp系统菜单的末尾追加一个 “考试 ”子菜单, 如下图所示。菜单命令 “统计 ”和 “返回 ”的功能都通过执行过程完成。 菜单命令 “统计 ”的功能是统计每个用户发布的主题帖数和回复贴数。统计结果依次包含 “用户名 ”、 “主题帖数 ”和 “回复帖数 ”三个字段。各记录按用户名升序排
5、序,统计结果存放在 tabletwo表中。 菜单命令 “返回 ”的功能是恢复标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行 “统计 ”和 “返回 ”菜单命令。 国家二级 VF机试(操作题)模拟试卷 284答案与解析 一、基本操作题 1 【正确答案】 (1)利用 “文件 ”菜单下的 “打开 ”命令来打开表单 one,或使用命令“MODIFY FORM one”打开表单 one。在 “显示 ”命令按钮的 Click事件中输入代码“thisform textl value=year(date()”,如图 3 105所示。保存并运行修改后的表单,查看运行结果。 (2)打开表单 two,在 “
6、表单 ”菜单中选择 “新建方法程序 ”命令,新建一个名为 test的方法。在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码“ThisForm Command1 Enabled= F ”,在表单设计器环境下双击 “测试 ”命令按钮,编写 Click事件代码 “ThisForm Test”,如图 3 106所示。保存并运行修改后的表单,查看运行结果。 (3)创建一个快速报表,如图 3 107所示。预览该报表,查看设计后的效果。(4)在命令窗口输入命令 “alter table教师表 alter职工号 set check LEFT(职工号, 3)=“110“”,按下回车键。 【试题解析】
7、 打开表单,在表单设计器环境下修改控件的相关属性,为命令按钮编写 Click事件代码 ;在 “新建方法程序 ”对话框中为表单新建方法;在报表设计器中创建快速报表;通过 ALTER YABLE命令为字段增加有效性规则。 二、简单应用题 2 【正确答案】 (1)步骤 1:打开表单 formone,在表单的空白处单击鼠标右键,将Orders表添加到表单的数据环境中。 步骤 2:修改列表框和表格的属性,如图3 81所示。 步骤 3:双击 “显示 ”按钮,修改其 Click事件代码。 错误 1: FOR i=1 TO thisform List1 ColumnCount 修改为: FOR i=1 TO
8、thisform List1 ListCount 错误 2: s=thisform List1 value 修改为: s=thisform List1 List(i) 错误 3:s=s+thisform List1 value 修改为: s=s+“, “+thisform List1 List(i) 步骤 4:保存并运行表单查看结果。 (2)步骤 1:单击常用工具栏中的 “新建 ”按钮,新建查询,将表 “orders”、 “employee”和 “customer“添加到查询中。 步骤 2:分别选择字段“orders订单号 ”、 “orders签订日期 ”、 “orders金额 ”和 “cus
9、tomer客户名 ”,添加到可用字段中;然后在 “函数和表达式 ”文本框中输入 “employee姓名 as签订者 ”,并添加到可用字段。 步骤 3:在筛选选项卡中设置条件为 orders签订日期 : 20010501。 步骤 4:在排序选项卡中指定排序选项为降序,添加字段“orders签订日期 ”和 “orders金额 ”。 步骤 5:选择系统菜单中的 “查询 ”“ 查询去向 ”“ 表 ”命令,输入表名为 “tableone”。 步骤 6:保存查询,输入查询名“queryone”,在常用工 具栏中单击 “运行 ”按钮,运行该查询。 【试题解析】 通过常用工具栏中的 “打开 ”按钮打开表单,用
10、鼠标右键单击表单空白处可以为表单添加数据环境。通过查询设计器完成查询的创建。表单的MultiSelect属性用于指定列表框能否多重选定; RowSourceType属性用来指定表格和列表框的数据类型, RowSource属性用来指定表格和列表框的数据源。 三、综合应用题 3 【正确答案】 步骤 1:单击常用工具栏中的 “新建 ”按钮,在打开的 “新建 ”对话框中选择 “菜单 ”单选按钮,然后单击 “新建文件 ”按钮,选择 “菜单 ”按钮,如图 4 14所示。 步骤 2:单击菜单栏中的 “显示 ”按钮,在弹出的下拉列表中选择 “常规选项 ”命令,在弹出的 “常规选项 ”对话框中,选择 “位置 ”
11、选项组中的 “追加 ”单选按钮,单击 “确定 ”按钮,如图 4 15所示。步骤 3:按题目的要求新建一个 “考试 ”菜单,设置该菜单的 “结果 ”为子菜单,再单击 “创建 ”按钮建立两个菜单项 “统计 ”和 “返回 ”,结果均设置为 “过程 ”,如图 4 16所示。步骤 4:选中 “统计 ”行,单击后面的 “创建 ”按钮,在弹出的窗口中输入如下代码,为 “统计 ”菜单编写代码,如图4 17所示。 SELECT Reply用户名, COUNT(Reply主题帖编号 )as主题贴数,; Topic回复数 AS回复贴数; FROM reply INNER-IOIN topic; ON Reply编号
12、 =Topic编号; GROUP BY Reply用户名; ORDER BY Reply用户名; INT()TABLE tabletwo Dhf 步骤 5:为 “返回 ”菜单编写代码 “Set sysmenu to defalt”,方法同步骤 3。步骤 6:单击菜单栏中的 “菜单 ”按钮,在弹出的下拉列表中选择 “生成 ”按钮。在 弹出的 “另存为 ”对话框中,设置菜单名为 “mymenu mnx”,单击 “保存 ”按钮。再在弹出的 “生成菜单 ”对话框中,单击 “生成 ”按钮。如图 4 18所示。步骤 7:在命令窗口中输入“DO mymenu mpr”,按 “Enter”键运行程序,即可看到在当前的 vfp系统菜单的末尾追加了一个 “考试 ”子菜单。依次执行 “统计 ”和 “返回 ”菜一单喻令。