1、国家二级 VF机试(操作题)模拟试卷 448及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)利用快捷菜单设计器创建一个弹出式菜单 one,菜单有两个选项:“增加”和“删除”,两个选项之间用分组线分隔。(2)创建一个快速报表 app_report,报表中包含了“评委表”中的所有字段。(3)建立一个数据库文件“大奖赛dbc”,并将“歌手表”、“评委表”和“评分表”3 个自由表添加到该数据库中。(4)使用 SQL的语句 ALTER TABLE命令为“评委表”的“评委编号”字段增加有效性规则:“评委编号”的最左边两位字符是 11(使用 LEFT函
2、数),并将该 SQL语句存储在 threeprg 中,否则不得分。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)建立一个文件名和表单名均为 two的表单,然后为表单 two建立一个名为 quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisformrelease:最后向表单中添加一个命令按钮(Commandl),并在该命令按钮的 Click事件中写一条调用新方法 quit的语句。(2)使用 SQL语句计算每个歌手的最高分、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最
3、低分”和“平均分”4 个字段),要求结果按“平均分”降序。注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算出。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.建立一个表单名和文件名均为 myform的表单。表单的标题是“评委打分情况”,表单中有两个命令按钮(Commandl 和 Command2)和两个单选钮(Optionl 和 Option2)。Commandl 和 Command2的标题分别是“生成表”和“退出”,Optionl 和 Option2的标题分别是“按评分升序”和“按评分降序”。为“生成表”命令按钮编写程序,程序的功能是
4、根据简单应用题生成的 resultdbf 表按指定的排序方式生成新的表,单选钮选择“按评分升序”时,依次按“最高分”、“最低分”和“平均分”3 个字段升序排序生成表 six_a,单选钮选择“按评分降序”时,依次按“最高分”、“最低分”和“平均分”3 个字段降序排序生成表 six_d。运行表单,选择“按评分升序”单选钮,单击“生成表”命令按钮;再选择“按评分降序”单选钮,单击“生成表”命令按钮(注意:必须执行)。(分数:2.00)_国家二级 VF机试(操作题)模拟试卷 448答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)利用快捷菜单设计器创
5、建一个弹出式菜单 one,菜单有两个选项:“增加”和“删除”,两个选项之间用分组线分隔。(2)创建一个快速报表 app_report,报表中包含了“评委表”中的所有字段。(3)建立一个数据库文件“大奖赛dbc”,并将“歌手表”、“评委表”和“评分表”3 个自由表添加到该数据库中。(4)使用 SQL的语句 ALTER TABLE命令为“评委表”的“评委编号”字段增加有效性规则:“评委编号”的最左边两位字符是 11(使用 LEFT函数),并将该 SQL语句存储在 threeprg 中,否则不得分。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行: CREATE MENU one, 在“
6、新建菜单”中单击“快捷菜单”按钮,打开快捷菜单设计器。 在菜单设计器“菜单名称”列的文本框中输入 3个菜单项名“增加”、“”和“删除”。执行【菜单】【生成】菜单命令,生成一个可执行的菜单文件。 (2)命令窗口执行: USE 评委表。 命令窗口执行: CREATE REPORT app report, 打开报表设计器,执行【报表】【快速报表】菜单命令,在“快速报表”对话框中单击“确定”按钮新建快速报表,预览和保存报表设计。 (3)命令窗口执行: MODIFY DATABASE 大奖赛, 新建数据库并打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加
7、到数据库中:同样的方法,再将“评委表”和“评分表”添加到数据库中。 (4)命令窗口执行: MODIFY COMMAND three, 打开程序文件编辑器中输入如下程序代码: ALTER TABLE 评委表 ALTER评委编号 SET CHECKLEFT(评委编号,2)=“11“ 命令窗口执行: DO three, 执行程序文件。 快捷菜单设计;创建简单报表;使用数据库;SQL表结构修改。)解析:解析:本题考查了快捷菜单的设计;快速报表的创建;数据库的基本操作;字段有效性规则的设置。快捷菜单仅包括一个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。 在报表设计器中可通过菜单命令启动建立快速报表
8、的功能,建立快速报表前应先指定报表的数据源。 SQL 的表结构修改语句:ALTER TABLE表名ALTERIADD字段名SET CHECK表达式可以设置表中指定字段的有效性规则。二、简单应用题(总题数:1,分数:2.00)2.(1)建立一个文件名和表单名均为 two的表单,然后为表单 two建立一个名为 quit的新方法(单击选择表单后,从“表单”菜单中选择“新建方法程序”命令),并在该方法中写一条语句Thisformrelease:最后向表单中添加一个命令按钮(Commandl),并在该命令按钮的 Click事件中写一条调用新方法 quit的语句。(2)使用 SQL语句计算每个歌手的最高分
9、、最低分和平均分,并将结果存储到 resultdbf 表中(包含“歌手姓名”、“最高分”、“最低分”和“平均分”4 个字段),要求结果按“平均分”降序。注意:按“歌手姓名”分组;每个歌手的最高分、最低分和平均分由评分表中的“分数”字段计算出。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行: CREATE FORM two, 打开表单设计器新建表单。 步骤 2:执行【表单】【新建方法程序】菜单命令,在“新建方法程序”对话框的“名称”文本框中输入“quit”,单击“添加”按钮新增方法,然后关闭对话框。 步骤 3:在“属性”窗口中双击 quit方法,打开用户自定义过程代码框输
10、入: THISFORMRELEASE。 步骤 4:通过“表单控件”工具栏向表单添加一个命令按钮(Commandl),双击命令按钮,编写该按钮的 Click事件代码: THISFORMQUIT。 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 表单的事件、方法和属性。 (2)在命令窗口执行如下 SQL命令语句执行查询: SELECT 歌手表歌手姓名,MAX(评分表分数)AS 最高分,; MIN(评分表分数)AS 最低分,AVG(评分表分数)AS 平均分; FROM 大奖赛!歌手表 INNER JOIN大奖赛!评分表; ON 歌手表,歌手编号=评分表歌手编号;
11、 GROUP BY 歌手表,歌手姓名; ORDER BY 4 DESC; INTO TABLE result (注意:以上 SQL查询语句是通过查询设计器生成,大家也可以直接在查询设计器中完成查询。) SQL 分组与计算查询。)解析:解析:(1)本题考查的是表单方法的创建。在 Visual FoxPro中,用户首先应打开“新建方法程序”对话框定义新方法名:然后在“属性”面板中定义找到该方法并编写该方法的功能代码:方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。 (2)本题主要考查了 SQL分组与计算查询。本题在输出字段中除“歌手姓名”字段是表中原有的字段外,最高分、最低分和平均
12、分都需要根据“分数”字段生成,分别使用计算函数 MAX()、MIN()和 AVG()。由于是求每个歌手的最高分、最低分和平均分,可以根据“歌手姓名”字段进行分组计算。 也可以借助查询设计器生成本题的 SQL语句。三、综合应用题(总题数:1,分数:2.00)3.建立一个表单名和文件名均为 myform的表单。表单的标题是“评委打分情况”,表单中有两个命令按钮(Commandl 和 Command2)和两个单选钮(Optionl 和 Option2)。Commandl 和 Command2的标题分别是“生成表”和“退出”,Optionl 和 Option2的标题分别是“按评分升序”和“按评分降序”
13、。为“生成表”命令按钮编写程序,程序的功能是根据简单应用题生成的 resultdbf 表按指定的排序方式生成新的表,单选钮选择“按评分升序”时,依次按“最高分”、“最低分”和“平均分”3 个字段升序排序生成表 six_a,单选钮选择“按评分降序”时,依次按“最高分”、“最低分”和“平均分”3 个字段降序排序生成表 six_d。运行表单,选择“按评分升序”单选钮,单击“生成表”命令按钮;再选择“按评分降序”单选钮,单击“生成表”命令按钮(注意:必须执行)。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE FORM myform, 新建表单。向表单添加一个选项按钮组和两个命令按钮控件。 步骤 2:选择表单对象,修改对象属性值,见表 431。 )解析:解析:本大题考查了表单及控件的常用属性和方法的设置:IF 条件语句:SQL 简单的联接查询。 本题修改选项组单选按钮的标题属性值时,要注意选项组处于“编辑”状态。 查询时需要判断被选定的是哪个单选项来执行相应的功能。选项组中获得当前被选中单选项的返回值属性是 Value,可以通过 IF条件语句判断。 SQL 程序中对多个字段排序时,各字段间要用逗号隔开,升序使用 ASC短语(可省略),降序使用 DESC短语。