1、国家二级 VF机试(操作题)模拟试卷 200及答案与解析 一、基本操作题 1 (1)打开考生文件夹下的表单 one(如图 2 31所示 ),编写 “显示 ”命令按钮的 Click事件代码,使表单运行时单击该命令按钮的结果是在 Text1文本框中显示当前系统日期的年份 (提示:通过设置文本框的 Value属性实现,系统日期函数是 date,年份函数是 year)。 (2)打开考生文件夹下的表单two(如图 2-32所示 ),选择 “表单 ”菜单中的 “新建方法程序 ”命令,在 “新建方法程序 ”对话框中,为该表单新建一个方法 test,然后双击表 单,选择该方法编写代码,该方法的功能是使 “测试
2、 ”按钮变为不可用 (提示:即将该按钮的 Enabled属性设置为 f)。 (3)创建一个快速报表 study report,报表中包含 “课程表 ”中的所有字段。 (4)为 “教师表 ”的 “职工号 ”字段增加有效性规则:职工号的最左边三位字符是 110,表达式应为: LEFT(职工号, 3)=“110“。 二、简单应用题 2 (1)列出客户名为 “三益贸易公司 ”的订购单明细 (order detail)记录 (将结果先按 “订单号 ”升序排列,同一订单的再按 “单价 ”降序排列 ),并将结果 存储到 results表中(表结构与 order detail表结构相同 )。 (2)考生文件夹
3、下有一个 form1表单文件,其中三个命令按钮 Click事件下的语句都是错误的,请按如下要求进行修改 (最后保存所做的修改 ): 单击 “刷新标题 ”命令按钮时,使表单的标题为 “简单应用 ”。 单击 “订单记录 ”命令按钮时,使表格控件中显示 order_list表中的记录。 单击 “关闭表单 ”命令按钮时,关闭表单。 注意:每处错误只能在原语句上进行修改,不可以增加语句。 三、综合应用题 3 在考生文件夹下有 myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单 (在表单的 load事件中运行菜单程序 )。 新建立的菜单文件名为 mymenu,结构
4、如下 (表单、报表和退出是菜单栏中的 3个菜单项 ): 表单 浏览课程 浏览选课统计 报表 预览报表 退出 如图 2 3所示。各菜单项的功能如下: 选择 “浏览课程 ”时在表单的表格控件中显示 “课程 ”表的内容 (在过程中完成,直接指定表名 )。 选择 “浏览选课统计 ”时在表单的表格控件中显示简单应用题建立的视图 sview的内容 (在过 程中完成,直接指定视图名 )。 选择“预览报表 ”时预览简单应用题建立的报表 creport(在命令中完成 )。 选择 “退出 ”时关闭和释放表单 (在命令中完成 )。 注意:最后要生成菜单程序,并注意该菜单将作为项层表单的菜单。 国家二级 VF机试(操
5、作题)模拟试卷 200答案与解析 一、基本操作题 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY FORM one,打开表单设计器修改表单。 双击 “显示 ”命令按钮,编写按钮的 Click事件代码: THISFORM TEXT1 VALUE=YEAR(DATE() 单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (2) 在命令窗口执行命令: MODIFY FORM two,打开表单设计器修改表单。 执行【表单】 【新建方法程序】菜单命令,在弹出的 “新建方法程序 ”对话框的 “名称 ”文本框中输入 “test”,单击 “添加 ”按钮新增方法,
6、然后关闭对话框。 在 “属性 ”窗口中双击此方法,打开用户自定义过程代码框输入: THISFORM COMMAND1 ENABLED= F 单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (3) 在命令窗口执行命令: USE课程表,打开 “课程 ”表。 在命令窗口执行命令: CREATE REPORT study_report,打开报表设计器,然后执行【报表】 【快速报表】菜单命令,在弹出的 “快速报表 ”对话框中单击 “确定 ”按钮新建快速报表,预览和保存报表设计。 (4)在命令窗口执行命令: ALTER TABLE教师表 ALTER 职工号 SET CH
7、ECK LEFT(职工号, 3)=“110“。 【试题解析】 本大题考查了表单属性和方法的设置;快速报表的建立; SQL定义功能。 通过文本框的 Value属性可以指定文本框中显示的数据,本题要注意所涉及的函数的使用,求年份的函数为 YEAR(),求当前系统日期的函数为 DATE()。 在 Visual FoxPro中,用户可以通过 “新建方法程序 ”对话框定义新方法名;然后定义该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法,通过设置控件的 Enabled属 性可以指定控件是否可用。 快速报表的建立需要在报表设计器中进行,在报表设计器中可以通过菜单命令启动建立
8、快速报表的功能,建立快速报表前应先指定报表的数据源。 利用 SQL定义功能的表结构修改语句: ALTER TABLEALTER | ADDSET CHECK 可以设置表中指定字段的有效性规则。 二、简单应用题 2 【正确答案】 (1) 在命令窗口执行如下 SQL命令语句完成查询: SELECT Order_detal上 *; FROM 订货管理 !order_detail INNER JOIN订货管理 ! order_list; INNER JOIN订货管理 !customer; ON Order_list客户号 =customer客户号; ON Order_detail订单号 =Order_
9、list订单号; WHERE customer客户名 =“三益贸易公司 “; ORDER BY Order_detail订单号, Order_detail单价 DESC; INT() TABLE results dhf (注意:以上 SQL语句是根据查询文件完成的,大家也可以通过查询设计器完成本题操作。 ) (2) 步骤 1:在命令窗口执行命令: MODIFY FORM form1,打开表单设计器修改表单。 步骤 2:双击表单中的 “刷新标题 ”按钮,看到该按钮的 Click事件中代码如下: THISFORM=“简单应用 “ 修改后的代码如下: THISFORM CAPTION=“简单应用 “
10、 步骤 3:双击表单中的 “订单记录 ”按钮,看到该 按钮的 Click事件中代码如下: THISFORM GRID1=“ORDER_LIST DBF“ 修改后的代码如下: THISFORM GRID1 RECORDSOURCE=“ORDER_LIST DBF“ 步骤 4:双击表单中的 “关闭表单 ”按钮,看到该按钮的 Click事件中代码如下: THISFORM CLOSE 修改后的代码如下: THISFORM RELEASE 步骤 5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 (1)本题主要考查了 SQL的联接查询。本题的关键是判断查
11、询用到了哪些表以及如何设置查询条件。根据题意,该查询用到了 order_detail、order_list和 customer三张表,查询条件可以根据表中的关联字段得出。 另外,注意排序依据的设置,本题为双重排序,要将第一排序次序放前面。 (2)本题主要考查了表单及控件常用属性和方法的设置。表单的标题属性为Caption。释放和关闭表单的方法是 Release。 三、综合应用题 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE MENU mymenu,在弹出的 “新建菜单 ”对话框中单击 “菜单 ”图标按钮,打开菜单设计器。在菜单设计器 “菜单名称 ”列的文本框中依次输入 “表单
12、 ”、 “报表 ”和 “退出 ”3个主菜单名, “结果 ”下拉框中选择为 “子菜单 ”,单击 “表单 ”行的 “创建 ”按钮进入下级菜单设计。 步骤 2:在“菜单名称 ”列依次输入子菜单名 “浏览课程 ”和 “浏览选课统计 ”,选择 “结果 ”列都为“过程 ”,分别单击两个 “过程 ”后面的 “创建 ”按钮打开过程编辑器,编写过程代码。 “课程浏览 ”菜单命令的过程代码: Myform Grid1 RecordS0urceType=1 My form Grid1 RecordSource=“课程 “ “选课统计浏览 ”菜单命令的过程代码: OPEN DATABASE学生管理 Myform Gr
13、id1 RecordSourceType=0 Myform Grid1 RecordRource=“sview“ 步骤 3:通过 “菜单级 ”下拉框返回主菜单项设计界面,以同样的方法,设计 “报表 ”菜单项的 下级子菜单 “预览报表 ”,注意选择 “预览报表 ”的 “结果 ”项为 “命令 ”,然后在后面的文本框中输入以下命令代码: REPORT FORM creport PREVIEW 步骤 4:再次返回主菜单项设计界面,选择 “退出 ”菜单命令的 “结果 ”项为 “命令 ”,并输入命令语句: myform RELEASE 步骤5:执行【显示】 【常规选项】菜单命令,在弹出的 “常规选项 ”对
14、话框中勾选 “顶层表单 ”复选框,然后单击 “确定 ”按钮,保存修改。如图 3 17所示。步骤 6:执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击 “是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件,关闭菜单设计器。 步骤7:在命令窗口执行命令: MODIFY FORM myform,打开表单设计器。选中表单,在 “属性 ”窗口中修改表单 (Form1)的 “ShowWindow”属性值设置为 “2作为顶层表单 ”。 步骤 8:右击表单选择【数据环境】快捷菜单命令,在表单数据环境中单击右键选择【添加】快捷菜单命令,
15、选择 “视图 ”单选项,将 sView视图添加到数据环境中。 步骤 9:双击表单 (Form1)编写表单的 Load事件代码,代码如下: DO mymenu mpr WITH THIS “TTT“ 步骤 10:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本题主要考查的是菜单在顶层表单中的应用。主要包括两大部分的操作,即菜单设计和表单设计。操作过程可按以下步骤进行: 通过菜单设计器建立菜单,注意主菜单和子菜单的建立。菜单设计有两个关键操作:一是在菜单设计器中勾选 “常规选项 ”对话框中的 “顶层表单 ”,表示此菜单存在顶层表单中;二是在释放表单时,要使用表单的文件名,即本 题可以通过MAINFORM RELEASE命令释放 MAINFORM表单,注意:不要使用THISFORM RELEAsE命令释放表单。 在表单设计过程中,要注意将表单设置为顶层表单,通过表单的 ShowWindow属性值可以进行设置,而在表单中调用菜单文件是在表单的 Load(或 INIT)事件中进行调用,还需要通过 THIS短语指定当前表单对象的引用。其基本格式为:DOWITH THIS, “。