1、二级 VISUAL+FOXPRO-45 及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)在考生文件夹下完成如下操作:(分数:30.00)(1).my_menu 菜单中的“文件”菜单项下有子菜单项“新建”、“打开”、“关闭”和“退出”,请在“关闭”和“退出”之间添加一条水平的分组线,并为“退出”菜单项编写一条返回到系统菜单的命令(不可以使用过程)。(分数:7.50)_(2).创建一个快速报表 sport_report,报表中包含了“金牌榜”表中的“国家代码”和“金牌数”两个字段。(分数:7.50)_(3).使用 SQL 建立表的语句建立一
2、个与自由表“金牌榜”结构完全一样的自由表 golden。并将该 SQL 语句存储在文件 one.prg 中。(分数:7.50)_(4).使用 SQL 语句向自由表 golden 中添加一条记录(“011“,9,7,11)。并将该 SQL 语句存储在文件two.prg 中。(分数:7.50)_二、B简单应用题/B(总题数:1,分数:40.00)在考生文件夹下完成如下简单应用:(分数:40.00)(1).使用 SQL 语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1 表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排
3、列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp 中。最后将该 SQL语句存储在文件 three.prg 中。(分数:20.00)_(2).建立一个文件名和控件名均为 myform 的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL 语句根据“国家”表显示国家名称,选项组中有 3 个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)
4、。 (分数:20.00)_三、B综合应用题/B(总题数:1,分数:30.00)1.打开考生文件夹下的 sport_project 项目,项目中有一个名为 sport_form 的表单文件,表单中包括 3个命令按钮。 请完成如下操作: (1)编写并运行程序 Four.prg。程序功能是:根据“国家”和“获奖牌情况”两个表统计并生成一个新表“假奖牌榜”,新表包括“国家名称”和“奖牌总数”两个字段,要求先按奖牌总数降序排列(注意“获奖牌情况”的每条记录表示一枚奖牌),若奖牌总数相同再按“国家名称”升序排列。 (2)为 sport_form 表单中的“生成表”命令按钮编写一条 Click 事件代码命令
5、,执行Four.prg 程序。 (3)将在基本操作中建立的快速报表 sport_report 加入项目文件,并为表单 sport_form中的命令按钮“浏览报表”编写一条命令,预览快速报表 sport_report。 (4)将自由表“国家”和“获奖牌情况”加入项目文件中,然后将项目文件连编成应用程序文件 sport_app.app。(分数:30.00)_二级 VISUAL+FOXPRO-45 答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)在考生文件夹下完成如下操作:(分数:30.00)(1).my_menu 菜单中的“文件”菜单项下有子
6、菜单项“新建”、“打开”、“关闭”和“退出”,请在“关闭”和“退出”之间添加一条水平的分组线,并为“退出”菜单项编写一条返回到系统菜单的命令(不可以使用过程)。(分数:7.50)_正确答案:(操作步骤步骤 1:单击常用工具栏中的“打开”按钮,打开菜单 my_menu。在菜单设计器中单击“文件”菜单项中的“编辑”按钮,如图 1 所示,进入“文件”菜单的子菜单中。*图 1步骤 2:选择“退出”菜单项并单击右侧的“插入”按钮,在“关闭”和“退出”之间插入一行,在“菜单名称”处输入“/-”。将“退出”菜单项的“结果”设置为“命令”,并输入“set sysmenu to default”,如图 2 所示
7、。*图 2)解析:考点 本大题主要考查的知识点是:利用菜单设计器修改菜单,返回系统菜单命令,创建快速报表,复制表以及 SQL 插入语句的使用。 第 1 题中在“关闭”和“退出”之间插入一行,在“菜单名称”处输入“/-”,通过命令返回 Visual Foxpro 的系统菜单,命令格式为“SET SYSMENU TO DEFAULT”;第2 题中是在报表设计器中创建快速报表;第 3 题复制表的命令是“COPY (structure) TO 表名”;第 4 题需先在命令窗口中完成正确 SQL 语句的编写并执行,然后检查 SQL 语句的执行结果,最后新建程序文件,将 SQL 语句复制到新建的程序文件中
8、。 菜单中添加水平分组线不常见,请考生注意。创建快速报表必须先新建报表,而不能直接创建快速报表。复制表的命令和返回系统菜单的命令请考生牢记。(2).创建一个快速报表 sport_report,报表中包含了“金牌榜”表中的“国家代码”和“金牌数”两个字段。(分数:7.50)_正确答案:(步骤 1:新建一个空白报表,在报表设计器中选择“报表”菜单下的“快速报表”命令,如图 3 所示。*图 3步骤 2:选中考生文件夹下的“金牌榜”表,即可打开“快速报表”对话框,单击对话框中的“字段”按钮,将“国家代码”和“金牌数”两个字段添加到“选定字段”中。单击“确定”按钮回到报表设计器中,保存报表为 sport
9、_report,预览报表设计结果,如图 4 所示。*图 4)解析:(3).使用 SQL 建立表的语句建立一个与自由表“金牌榜”结构完全一样的自由表 golden。并将该 SQL 语句存储在文件 one.prg 中。(分数:7.50)_正确答案:(新建一个程序文件,为其编写如下的命令语句。 USE 金牌榜 COPY STRU TO GOLDEN 保存程序为 one.prg,并运行该程序文件。)解析:(4).使用 SQL 语句向自由表 golden 中添加一条记录(“011“,9,7,11)。并将该 SQL 语句存储在文件two.prg 中。(分数:7.50)_正确答案:(在命令窗口输入命令“in
10、sert into golden Value(“011“,9,7,11)”并按回车键,并将此命令存储到新建的 two.prg 文件中。)解析:二、B简单应用题/B(总题数:1,分数:40.00)在考生文件夹下完成如下简单应用:(分数:40.00)(1).使用 SQL 语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1 表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp 中。最后将该 SQL语句存储在文件 three.prg 中。(分数:20.
11、00)_正确答案:(操作步骤 新建程序 three.prg,然后输入以下命令语句。 * * * * * * * * *three.prg中的代码* * * * * * * * 选择查询字段,通过 AS 短语制定显示字段 SELECT 国家.国家名称,COUNT(获奖牌情况.名次)AS 金牌数: 指定字段来源 FROM 国家.获奖牌情况; 设置查询条件 WHERE 国家国家代码=获奖牌情况.国家代码; AND 获奖牌情况.名次=1; GROUP BY 子句用于按国家名称分组 GROUP BY 国家.国家名称; 查询结果按金牌数降序排列,金牌数相等时按国家名称降序排列 ORDER BY 2 DES
12、C,国家.国家名称 DESC; 将查询结果存储到 temp.dbf 中 INTO TABLE temp.dbf * * * * * * * * * * * * * * * * * * * * * * * * * * * 保存并运行程序。 考点 本大题主要考查的知识点是:SQL 语句中的 ORDER BY、GROUP BY、INTO TABLE 短语的使用,汇总函数 COUNT的使用,建立表单以及表单控件(列表框、选项组、命令按钮)的使用。 新建一个查询,按要求完成查询后查看 SQL 语句并复制到程序中运行程序;新建一个表单,按要求添加控件并修改控件的属性。)解析:(2).建立一个文件名和控件名
13、均为 myform 的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL 语句根据“国家”表显示国家名称,选项组中有 3 个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:20.00)_正确答案:(操作步骤 新建一个表单,按题目要求添加一个列表框、一个选项组和一个命令按钮,并修改其属性如下:表单的 Name 属性为 myform,Caption
14、属性为“奖牌查询”;列表框的 RowSourceType 属性为“3-SQL 语句”,RowSource 属性为“SELECT 国家姓名 FORM 国家 INTO cursor LSB”;选项组的ButtonCount 属性为 3;单选钮 1 的 Caption 属性为“金牌”;单选钮 2 的 Caption 属性为“银牌”;单选钮 3 的 Caption3 属性为“铜牌”;命令按钮的 Caption 属性为“退出”。 保存表单为 myfrom,运行以查看表单的设计结果。)解析:三、B综合应用题/B(总题数:1,分数:30.00)1.打开考生文件夹下的 sport_project 项目,项目中
15、有一个名为 sport_form 的表单文件,表单中包括 3个命令按钮。 请完成如下操作: (1)编写并运行程序 Four.prg。程序功能是:根据“国家”和“获奖牌情况”两个表统计并生成一个新表“假奖牌榜”,新表包括“国家名称”和“奖牌总数”两个字段,要求先按奖牌总数降序排列(注意“获奖牌情况”的每条记录表示一枚奖牌),若奖牌总数相同再按“国家名称”升序排列。 (2)为 sport_form 表单中的“生成表”命令按钮编写一条 Click 事件代码命令,执行Four.prg 程序。 (3)将在基本操作中建立的快速报表 sport_report 加入项目文件,并为表单 sport_form中的
16、命令按钮“浏览报表”编写一条命令,预览快速报表 sport_report。 (4)将自由表“国家”和“获奖牌情况”加入项目文件中,然后将项目文件连编成应用程序文件 sport_app.app。(分数:30.00)_正确答案:(操作步骤 步骤 1:打开项目可使用“文件”菜单下的“打开”命令来完成,也可用“MODIFY PROJECT spolt_project”命令来打开。 步骤 2:新建程序 four.prg,在程序文件中输入下列命令语句。 * * * * * * * * * four.prg 中的代码 * * * * * * * * * 选择查询字段,通过 AS短语制定显示字段 SELECT
17、 国家.国家名称,COUNT(获奖牌情况.名次)AS 奖牌总数; 制定字段来源,设置查询条件 FROM 国家,获奖牌情况 WHERE 国家.国家代码=获奖牌情况.国家代码; GROUP BY 子句用于按国家名称分组 GROUP BY 国家.国家名称: 查询结果按金牌数降序排列,金牌数相等时按国家名称升序排列 ORDER BY 2 DESC,国家.国家名称; 将查询结果存储到假奖牌表.dbf 中 INTO TABLE 假奖牌榜.dbf * * * * * * * * * * * * * * * * * * * * * * * * * * * * 保存程序并运行。 步骤 3:单击项目管理器中的“文
18、档”选项卡,展开“表单”前面的“+”,选中表单 sport_from 并单击右侧的“修改”按钮,在表单 sport_from 的“生成表”命令按钮的 Click 事件代码中输入“DO four.prg”,如图所示。 * 步骤 4:选中项目 sport_project 中“文档”选项卡下的“报表”,单击“添加”按钮可将快速报表 sport_report 添加到项目中。然后在表单 sport_from 的“浏览报表”按钮的Click 事件代码中输入以下命令语句。 REPORT FROM sport_report.frx PREVIEW 步骤 5:在项目管理器中选中“文档”选项卡,按要求添加自由表,
19、然后单击“连编”按钮,生成“连编”应用程序,应用程序文件名保存为 sport_app.app。 考点 本大题主要考查的知识点是:SQL 语句中的 ORDER BY、GROUP BY、INTO TABLE 短语的使用,汇总函数 COUNT 的使用,报表预览命令,将自由表、报表添加到项目中以及连编应用程序。 在本题中,需要先完成 SQL 查询语句的编写,然后编写命令按钮的 Click 事件代码。在项目管理器中,连编应用程序需通过其中的“连编”命令按钮来实现,在“连编选项”对话框中,需注意相关操作的选择。对于计算机等级考试来说,大纲只要求对于“连编应用程序”选项的考核,其他选项不作要求。 报表预览的命令格式需要考生牢记。连编应用程序前必须先检查项目中是否存在 main 主程序,如果没有请先建立一个主程序再执行连编,主程序中可不输入代码。)解析: