1、国家二级 VF机试(操作题)模拟试卷 300及答案与解析 一、基本操作题 1 1打开考生文件夹下的数据库 College物理删除该数据库中的 temp表,然后将 3个自由表 “教师表 ”、 “课程表 ”和 “学院表 ”添加到该数据库中。 2为 “课程表 ”和 “教师表 ”分别建立主索引和普通索引,字段名和索引名均为 “课程号 ”,并为两个表建立一对多的联系。 3使用 SQL语句查询 “教师表 ”中工资大于 4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件 one txt中, SQL语句存储于文件two prg中 。 4使用报表向导为 “学院表 ”创建一个报表 thr
2、ee,选择 “学院表 ”的所有字段,其他选项均取默认值。 2 在考生文件夹下,打开数据库 “宾馆 ”,完成如下操作: 1打开 “客户 ”表,为 “性别 ”字段增加约束规则:性别只能为 “男 ”或 “女 ”,默认值为 “女 ”,表达式为:性别 $”男女 ”。 2为 “入住 ”表创建一个主索引,索引名为 fkkey,索引表达式为 “客房号 +客户号 ”。 3根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与创建索引的字段名相同,升序排序。 4使 用 SQL的 SELECT语句查询 “客户 ”表中性别为 “男 ”的客户号、身份证、姓名和工作单位字段及
3、相应的记录值,并将结果存储到名为 TABA的表 (注意:该表不需要排序 )。请将该语句存储到名为 ONE PRC的文件中。 3 在考生文件夹上,完成如下操作: 1打开考生文件夹下的表单 one,如下图所示,编写 “显示 ”命令按钮的 Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份 (提示:通过设置文本框的 Value属性实现,系统日期函数是 date(),年份函数是 year()。 2打开 考生文件夹下的表单 two,如下图所示,选择 “表单 ”菜单中的 “新建方法程序 ”命令,在 “新建方法程序 ”对话框中,为该表单新建一个 Lest方法,然后双击
4、表单,选择该方法编写代码,该方法的功能是使 “测试 ”按钮变为不可用,即将该按钮的 Enabled属性设置为 F。 3创建一个名为study_report的快速报表,报表包含表 “课程表 ”中的所有字段。 4为 “教师表 ”的 “职工号 ”字段增加有效性规则:职工号左边 3位字符是 110,表达式为: LEFT(职工号, 3)=“110“。 二、简单应用题 4 在考生文件夹下完成 下列简单应用: 1修改并执行程序 four prg,该程序的功能是:根据 “学院表 ”和 “教师表 ”计算 “信息管理 ”系教师的平均工资。注意:只能修改标有错误的语句行,不能修改其他语句。 2在 College数据
5、库中使用视图设计器建立一个名为 course_v的视图,该视图根据 “课程表 ”、 “学院表 ”和 “教师表 ”建立,视图中的字段包括 “姓名 ”、 “课程名 ”、 “学时 ”和 “系名 ”4项,视图中只包括 “学时 ”大于等于 60的记录,视图中的记录先按 “系名 ”升序排列,若 “系名 ”相同再按 “姓名 ”降序排列,最后查询该视图中的全部信息,并将 结果存放到表 sef中。 5 在考生文件夹下,打开 “宾馆 ”数据库,完成如下简单应用: 1使用查询设计器设计一个名为 TWO的查询文件,查询房价价格大予等于 280元的每个客房的客房号、类型号 (取自客房表 )、类型名和价格。查询结果按类型
6、号升序排列,并将查询结果输出到表 TABB中。设计完成后,运行该查询。 2修改命令文件 THREE PRG。该命令文件用来查询与 “姚小敏 ”同一天入住宾馆的每个客户的客户号、身份证、姓名和工作单位,查询结果包括 “姚小敏 ”。最后将查询结果输出到表 TABC中。该命令文件在第 3行、第 5行 、第 7行和第 8行有错误 (不含注释行 ),打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不能增加:删除或合并行。修改完成后,运行该命令文件。 6 在考生文件夹下完成如下简单应用: 1打开 “课程管理 ”数据库,使用 SQL语句建立一个视图 salary,该视图包括系号和平
7、均工资两个字段,并且按平均工资降序排列。将该 SQL语句存储在 four prg文件中。 2打开考生文件夹下的表单SIX,如下图所示, “登录 ”命令按钮的功能是:当用户输入用户名和口令以后,单击 “登录 ”按钮时,程序在自由表 “用户表 ”中进行查找,若找不到相应的用户名,则提示 “用户名错误 ”,若用户名输入正确,而口令输入错误,则提示 “口令错误 ”。修改 “登录 ”命令按钮 Click事件中标有错误的语句,使其能够正确运行。 (注意:不得做其他修改。 ) 三、综合应用题 7 在考生文件夹下完成下列操作: (1)建立一个文件名和表单名均为 oneform的表单文件,表单中包括两个标签控件
8、 (Labe11和 Labe12)、一个选项组控件(Optiongroupl)、一个组合框控件 (Combol)和两个命令按钮控件 (Command1和Command2), Labell和 Labe12的标题分别为 “系名 ”和 “计算内容 ”,选项组中有两个选项按钮 Optionl和 Option2,标题分别为 “平均工资 ”和 “总工资 ”, Command1和Command2的标题分别为 “生成 ”和 “退出 ”。如下图所示。(2)将 “学院表 ”添加到表单的数据环境中,然后手工设置组合框 ( Combol)的 RowSource Type属性为 6、 RowSource属性为 “学院表
9、系名 ”,程序开始运行时,组合框中可供选择的是 “学院表 ”中的所有“系名 ”。 (3)为 “生成 ”命令按钮编写程序代码。程序的功能是:表单运 行时,根据组合框和选项组中选定的 “系名 ”和 “计算内容 ”,将相应 “系 ”的 “平均工资 ”或 “总工资 ”存入自由表 salary中,表中包括 “系名 ”、 “系号 ”以及 “平均工资 ”或 “总工资 ”3个字段。 (4)为 “退出 ”命令按钮编写程序代码,程序的功能是关闭并释放表单。 (5)运行表单,在选项组中选择 “平均工资 ”,在组合框中选择 “信息管理 ”,单击 “生成 ”命令按钮。最后,单击 “退出 ”命令按钮结束。 8 在考生文件
10、夹下,先打开 “宾馆 ”数据库,然后创建一个名为 test的表单文件,如下图所示。 该表单完成如下综合应用:向表单中添加一个 标签 ( Labell)、一个文本框 (Text1)和两个命令按钮。标签的标题为 “退房日期大于或等于 ”。文本框用于输入退房日期。两个命令按钮的功能如下: (1)“查询 ”按钮 (Command1):在该按钮的 Click事件代码中,通过 SQL的SELECT命令查询退房日期大于或等于输入日期的客户的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,查询结果按价格降序排列,并将查询结果存储到表 TABD中。表 TABD的字段为客户号、身份证、姓名、
11、工作单位、客房号、类型名和价格。 (2)“退出 ”按钮 (Command2)的功能是关闭并释放表单。表单设计完成后,运行该表单,查询退房日期大于或等于 2005 -04 -01的顾客信息。 9 在考生文件夹下完成下列操作: (1)建立一个表单名和文件名均为 myform的表单,如下图所示。表单的标题为 “教师情况 ”,表单中有两个命令按钮 (Command1和 Command2),两个复选框 (Checkl和 Check2)和两个单选按钮 (Optionl和Option2)。 Command1和 Command2的标题分别是 “生成表 ”和 “退出 ”, Checkl和Check2的标题分别是
12、 “系名 ”和 “工资 ”, Optionl和 Option2的标题分别是 “按职工号升序 ”和 “按职工号降序 ”。 (2)为 “生成表 ”命令按钮编写 Click事件代码,其功能是根据表单运行时复选框指定的字段和单选钮指定的排序方式生成新的自由表,如果两个复选框都被选中,生成的自由表命名为two dbf, two dbf的字段包括职 -号、姓名、系名、工资和课程号;如果只有 “系名 ”复选框被选中,生成的自由表命名为 one_x dbf, one_x dbf的字段包括职工号、姓名、系名和课程号;如果只有 “工资 ”复选框被选中,生成的自由表命名为one_xx dbf, one_xx dbf
13、的字段包括职工号、姓名、工资和课程号。 (3)运行表单,并分别执行如下操作: 选中两个复选框和 “按职工号升序 ”单选钮,单击 “生成表 ”命令按钮。 只选中 “系名 ”复选框和 “按职工号降序 ”单选钮,单击 “生成表 ”命令按钮。 只选中 “工资 ”复选框和 “按职工号降序 ”单选钮,单击 “生成表 ”命令按钮。 国家二级 VF机试(操作题)模拟试卷 300答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)打开 College数据库,用鼠标右键单击表 temp,选择 “删除 ”命令,在弹 出的对话框中选择 “删除 ”按钮;用鼠标右键单击数据库设计器空白处,通过快捷菜单中的“
14、添加 ”命令将自由表 “教师表 ”、 “课程表 ”和 “学院表 ”添加到数据库中。 (2)在数据库设计器中用鼠标右键单击表,通过快捷菜单中的 “修改 ”命令打开表设计器,按要求分别为, “课程表 ”和 “教师表 ”建立主索引和普通索引,在数据库设计器中从主索引拖曳到普通索引以建立两表间的联系。 (3)新建一个程序,写入下列代码。 选择查询字段 SELECT*; 指定字段来源 FROM教师表; 设置查询 条件 WHERE教师表工资 4500; 查询结果按职工号升序排列 ORDER BY教师表,职工号; 将查询结果存储到 one txt中 TO FILE one txt 保存程序名为 “two p
15、rg”,并单击系统菜单中的运行按钮,运行程序。 (4)通过报表向导新建一个报表,添加 “学院表 ”作为报表的数据源,将所有字段添加到选定字段,最后输入报表名 “three”。 【试题解析】 本大题主要考查的知识点是:从数据库中删除表、向数据库中添加自由表、为表建立索引并建 立表间联系、 SQL语句的编写以及利用报表向导建立报表。 在数据库设计器中通过鼠标右键单击表完成删除、添加和修改表的操作。新建程序,在程序中完成 SQL语句的编写。通过 “报表向导 ”建立报表。 2 【正确答案】 【操作步骤】 (1)打开数据库 “宾馆 ”,在数据库设计器中用鼠标右键单击 “客户 ”表,打开表设计器,选择 “
16、性别 ”字段,在其字段有效性规则栏中输入“性别 $”男女 ”,在默认值栏中输入 “女 “”,如图 3 97所示。(2)在数据库设计器中用鼠标右键单击 “入住 ”表,打开表设计器,在 “索引 ”选项卡中,索引名处输入“fkkey”,类型选择 “主索引 ”,表达式处输入 “客房号 +客户号 ”,如图 3 98所示。(3)为 “入住 ”表建立索引名和索引表达式分别为 “客房号 ”和 “客户号 ”的普通索引,为 “客房 ”表建立索引名和索引表达式均为 “类型号 ”的普通索引。在数据库设计器中建立 4个表的联系,选中“客户 ”表中的主索引 “客户号 ”,按住鼠标左键将其拖动到 “入住 ”表的普通索引 “
17、客户号 ”上,用同样的方法可以建立 “客房 ”表和 “入住 ”表的 “客房号 ”之间的联系, “房价 ”表和 “客房 ”表的 “类型号 ”之间的联系。结果如图 3 99所示。(4)建立一个程序,编写 如下代码。 SELECT客户号,身份证,姓名,工作单位 FROM客户 WHERE性别 =”男 ”INTO TABLE TABA DBF 保存程序名为 “one prg”,并运行该程序。 【试题解析】 本大题主要考查的知识点是:为表设置字段的有效性规则,为表建立主索引及普通索引,建立表间联系,以及 SQL语句的使用。 在表设计器中完成字段有效性的设置,并按照题目的要求建立索引;在数据库设计器中为两表
18、建立永久性联系,并且两个表需在对应字段上建立主索引和普通索引。 3 【正确答案】 【操作步骤】 (1)利用 “文件 ”菜 单下的 “打开 ”命令来打开表单 one,或使用命令 “MODIFY FORM one”打开表单 one。在 “显示 ”命令按钮的 Click事件中输入代码 “thisform text1 value=year( date()”,如图 3 105所示。保存并运行修改后的表单,查看运行结果。 (2)打开表单 two,在 “表单 ”菜单中选择 “新建方法程序 ”命令,新建一个名为 test的方法。在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码“ThisForm C
19、ommand1 Enabled= F ”,在表单设计器环境下双 击 “测试 ”命令按钮,编写 Click事件代码 “ThisForm Test”,如图 3 106所示。保存并运行修改后的表单,查看运行结果。 (3)创建一个快速报表,如图 3 107所示。预览该报表,查看设计后的效果。(4)在命令窗口输入命令 “alter table教师表 alter职工号 set check LEFT(职工号, 3)=“110“”,按下回车键。 【试题解析】 本大题主要考查的知识点是:日期函数的使用,为表单创建方法,创建快速报表,以及通过 SQL语句修改表结构。 打开表单,在表单设计器环境下修改控 件的相关属
20、性,为命令按钮编写 Click事件代码;在 “新建方法程序 ”对话框中为表单新建方法;在报表设计器中创建快速报表;通过 ALTER TABLE命令为字段增加有效性规则。 二、简单应用题 4 【正确答案】 (1)【操作步骤】 步骤 1:打开程序 four prg,修改语句依次如下。第一处: WHILE改为 WHERE。第二处: OPFN改为 USE。第三处: WHERE改为 FOR。第四处:填入 num=num+1。步骤 2:保存并运行程序,如图 3 94所示。 (2)【操作步骤】 步骤 1:打开college数据库,新建一个视图,并添加 “课程表 ”、 “学院表 ”和 “教师表 ”3个表到视图
21、设计器中。步骤 2:将字段 “教师表姓名 ”、 “课程表课程名 ”、 “课程表学时 ”和 “学院表系名 ”添加到 “选定字段 ”框中。步骤 3:在筛选选项卡中,选择字段“课程表学时 ”,条件为 “=”,在实例中输入 “60”。步骤 4:在排序选项卡中选择按 “系名 ”升序、 “姓名 ”降序排序。步骤 5:保存视图名为 “course_v”。步骤 6:新建一个查询,将视图添加到查询设计器中,选定所有字段,设置查询去向为表“sef”。运行该查询。操作如图 3 95所示。【试题解析】 本大题主要考查的知识点是: SQL语句的应用和通过视图设计器创建视图。 在 SQL的 SELECT语句中,表示查询条
22、件的短语是 WHERE,而不是 WHIIE;在 Visual FoxPro中,打开表文件的命令是 USE,而不是 OPEN;在 SCAN结构的循环语句中,表示循环条件的是 FOR,而不是 WHERE;由题意知, sum变量用于保存 “信息管理 ”系教师的总工资, num变量用于统计 “信息管理 ”系教师的人数,故程序中缺少的语句应是 “num= num+l”。 5 【正确答案】 (1)【操作步骤】 步骤 1:新建一个查询,将 “房价 ”和 “客房 ”表添加到查询中,并按题目要求添加字段,如图 3 100所示。步骤 2:在 “筛选 ”选项卡中设置筛选条件,如图 3 101所示。步骤 3:在 “排
23、序依据 ”选项卡中选择字段 “客房类型号 ”,在 “排序选项 ”列表处选择 “升序 ”,如图 3 102所示。步骤 4:设置查询去向,如图 3 103所示。 步骤 5:保存查询名为 “two”,最后运行该查询。 (2)【操作步骤】 打开程序文件THREE PRG,对其中的命令进行修改,如下为改后的程序语句。* 使用宾馆数据库 OPEN DATABASE宾馆 选择查询字段 SELECT客户客户号,身份证,姓名,工作单位; 指定字段来源,设置查询条件 FROM客户,入住 WHERE客户客户号 =A住,客户号; 入住日期由 IN引导的子查询获得 AND入住日期 IN:子查询,选择查询字段 (SELE
24、CT入住日期; 指定字段来源 FROM客户,入住, 设置查询条件 WHERE客户客户号 =入住客户号 AND姓名 =“姚小敏“); 将查询结果存储到表 TABC中 INTO TABLE TABC* 保存并运行程序。 【试题解析】 本大题主要考查的知识点是:建立查询和 SQL语句的修改。 在笫 2小题中,涉及 “内外层嵌套查询 ”和 “超连接查询 ”的问题。 JOIN语句的功能是对 “客户 ”表和 “入住 ”表进行联接查询,故需要使用联系条件,即 ON短语;在SQL语句中, SELECT短语的功能是选择查询的字段,其后不能为空,月内层查询的字段应该是 “入住日期 ”;由题意可知, 内层查询的目的
25、是找到满足条件的“入住日期 ”(姚小敏的入住口期,这一日还有哪些客户入住 );将查询结果存入表中需使用的短语是 INTO,而不是 TO。 6 【正确答案】 (1)【操作步骤】 步骤 1:打开考生文件夹下的数据库文件 “课程管理 ”。步骤 2:新建一个程序,输入如下代码。生成一个视图,数据由查询获得 CREATE sql VIEW salary AS SELECT教师表,系号, AVG(教师表,工资 )AS平均工资:设置数据来源 FROM教师表; GROUP BY子句用于按系号分组 GROUP BY学院表系号 ,将查询结果存储到salary dbf中 INTO TABLE salary dbfE
26、LSE选择查询字段,通过 AS短语指定显示字段, sum()函数 用于求和 SELECT学院表,系名,学院表系号, sum(教师表,工责 )AS总工资;指定字段来源 FROM学院表,教师表;设置查询条件 WHERE学院表系号 =教师表,系号; AND学院表系名 =x; GROUP BY手句用于按系号分组 GROUP BY学院表系号;将查询结果存储到salary dbf中 INTO TABLE salary dbf ENDIF*“退出 ”按钮的Click事件代码 * ThisForm Release* 步骤 3:保存表单,并按题目要求运行,如图 3 96所示。 【试题解析】 本大题主要考查的知识
27、点是:表单的组合框控件、选项组的属性设置以及循环结构程序设计。 建立表单,添加控件,修改各控件的属性,完成命令按钮的代码。 8 【正确答案】 【操作步骤】 步骤 1:新建一个名为 test的表单,通过表单控件工具栏向表单添加控件。步骤 2:通过属性窗口设置表单及相关控件的属性。步骤 3:为 “查询 ”命令按钮的 Click事件编写程序代码。 *“查询 ”按钮 JClick事件代码 * 设王年份显示为四位 SET CENTURY ON 设置日期显示格式 SET DATE TO YMD 选择查询字段 SELECT客户客户号,客户,身份证,客户姓名,客户工作单位,客房,客房号, 房价类型名,房价价格
28、; 指定字段来 源 FROM客户,房价,入住,客房; 设置查询条件, ctod()函数用于将字符型转化为日期型 WHERE客户客户号 =入住客户号, AND客房客房号 =入住客房号, AND房价类型号 =客房类型号, AND 入住退房日期 =ctod (ThisForm Text1 value); 查询结果按价格降序排列 ORDER BY房价,价格DESC; 将查询蛄果存储到表 tabd中 INTO TABLE tabd* 步骤 4:为 “退出 ”命令按钮的 Click事件编写程序代码。 ThisForm Re1ease 步骤 5:保存并运行该表单,如图 3 104所示。 【试题解析】 本大题
29、主要考查的知识点是:表单的操作与应用以及 SQL语句的使用。 建立表单并向表单中添加控件,修改各控件的属性值。 9 【正确答案】 【操作步骤】 步骤 1:新建一个表单文件,通过表单控件工具栏向表单中添加各控件,并将 “教师表 ”和 “学院表 ”添加到表单的数据环境中。步骤 2:通过属性窗几设置表单及各控件的相关属性,如图 3 110所示。步骤 3:为 “生成表 ”命令按钮编写 Click事件代码。 *“生成表 ”按钮的 Click事 f代码 * 对 a进行赋值,数据来源为复选框 Check1值 a= ThisForm Check1 Value 时 b进行赋值,数据来源为复选框 Check2值
30、b= ThisForm Check2 Value 对 c进行赋值,数据来源为单选按钮 Optiori1值 c= ThisFo rm Optiongroup1 Option1 Value 对 d进行赋值,数据来源为单选按钮 Option2值 d= This Form Optiongroup1 Option2 Value 如果两个复选框都被选中 if a =1 andb =1 如果按钮 1被选中 if c=1 选择查询字段并指定字段来源 select职工号,姓名,系名,工资,课程号 from教师表,学院表; 设置查询条件 where教师表,系号 =学院表系号, 查询结果按职工号升序排列 order
31、 by职工号; 将查询结果存储到 two dbf中 into table two dbf else 如果按钮 2被选中 if d=l 选择查询字段并指定字段来源 select职 工号,姓名,系名,工资,课程号 from教师表,学院表; 设置查询条件 where教师表,系号 =学院表,系号, 查询结果按职工号降序排列 order by职工号 desc; 将查询结果存储到 two dbf中 into table two dbf endif endif endif 如果复选框 1被选中, 2未被选中 if a =l andb =0 如果按钮 1被选中 if c=1 选择查询字段并指定字段来源 sel
32、ect职工号,姓名,系名,课程号 from教师表,学院表; 设置查询条件 where教师表,系号 =学院表系号; 壹询结果按职工号升序排列 order by职工号; 将查询结果存储到 one x dbf中 into table one_x dbf 如果按钮 2被选中 else if d: l 选择查询字段并指定字段来源 select职工号,姓名,系名,课程号 from教师表,学院表; 设置查询条件 where教师表,系号 =学院表系号; 查询结果按职工号降序排列 order by职工号 desc; 将查询结果存储到 one x dbf中 into table one x dbf endif e
33、ndif endif 如果复选框 2被选中, 1未被选中 if a =0 and b =l 如果按钮 1被选中 if c=1 选择查询字段并指定字段来源 select职工号,姓名,工资,课程号 from教师表,学院表 ; 设置查询条件 where教师表系号 =学院表,系号, 查询结果按职工号升序排列 order by职工号, 将查询结果存储到 one xx dbf中 into table one_xx dbf 如果按钮 2被选中 else if d=l 选择查询字 段并指定字段来源 select职工号,姓名,工资,课程号from教师表,学院表; 设置查询条件 where教师表,系号 =学院表,
34、系号; 查询结果按职工号降序排列 order by职工号 desc; 将查询结果存储到 one xx dbf中 into table one_xx dbf endif endif endif* 步骤 4:保存表单名为“myform”,按题目要求运行表单并执行相关操作。 【试题解析】 本大题主要 考查的知识点是:表单的操作和应用,以及 IF条件语句的嵌套使用。 新建表单,按照题目要求为表单添加控件并修改相应控件的属性值;在为 “生成表 ”命令按钮编写 Click事件代码时,需用到多个嵌套的条件语句,考生要充分理解题目的要求。 第 1个嵌套的条件语句功能为:在两个复选都被选中的前提下,若第 1个单选按钮被选中,则生成的表中包含指定的字段,并按职工号升序排序记录,若第 2个单选按钮被选中,则生成的表包含指定的字段,并按职工号降序排序汜录。根据第 1个嵌套语句的功能,考生不难理解另外两个嵌套语句的功能。