1、国家二级 VF 机试(操作题)-试卷 32 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,有一表单文件 myformSCX。打开该表单文件,然后在表单设计器环境下完成如下操作: (1)在属性窗口中将表单设置为不可移动的,并将其标题设置为“表单操作”。 (2)为表单新建一个名为 mymethod 的方法,方法代码为:Wait“mymethod“window。 (3)设置 Ok 按钮的 Click 事件代码,其功能是调用表单的 mymethod 方法。 (4)设置 Cancel 按钮的 Click 事件代码,其功能是关闭当前表单。
2、(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用报表向导建立一个简单报表。要求选择 student 表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”(升序);报表标题为“学生基本情况一览表”;报表文件名为two。 (2)使用查询设计器设计一个查询,查询每个班级的“班级号”、“班级名”、“班长名”和“班主任名”,查询结果按“班级号”升序排序,并输出到 one 表中。运行该查询,并将设计的查询保存为oneqpr 文件。注意: 表之间的关联,一个
3、是 student 表的“学号”与 class 表的“班长号”,另一个是 class 表的“班主任号”与 teacher 表的“教师号”。 查询结果的各列的名称分别为“班级号”、“班级名”、“班长名”和“班主任名”。“班长名”列的数据来自于 student 表的“姓名”,“班主任名”列的数据来自于 teacher 表的“教师名”。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前 vFP 系统菜单的末尾追加一个“考试”子菜单,如图 3-11 所示。 (分数:2.0
4、0)_国家二级 VF 机试(操作题)-试卷 32 答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,有一表单文件 myformSCX。打开该表单文件,然后在表单设计器环境下完成如下操作: (1)在属性窗口中将表单设置为不可移动的,并将其标题设置为“表单操作”。 (2)为表单新建一个名为 mymethod 的方法,方法代码为:Wait“mymethod“window。 (3)设置 Ok 按钮的 Click 事件代码,其功能是调用表单的 mymethod 方法。 (4)设置 Cancel 按钮的 Click 事件代码,其功能是关闭当前表
5、单。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY FORM myform ,打开表单设计器修改表单。 选中表单,在“属性”面板中修改表单(Forml)的 Movable 属性值为:F,修改 Caption 属性值为:表单操作。 (2)接上一小题操作,执行【表单】【新建方法程序】菜单命令,在弹出的“新建方法程序”对话框的“名称”文本框中输入“mymethod”,单击“添加”按钮新增方法,然后关闭对话框。如图4-23 所示。 )解析:解析:表单及控件的常用属性及方法的设置。在 visual FoxPro 中,用户可以自定义方法,首先应打开“新建方法程序”对话框
6、定义新方法名;然后在“属性”面板中定义找到该方法并编写该方法的功能代码;方法建立完毕后,用户可以像调用表单中其他方法一样调用新建的方法。 另外,要将表单设置为不可移动的,可以通过表单的 Movable 属性进行设置。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用报表向导建立一个简单报表。要求选择 student 表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“学号”(升序);报表标题为“学生基本情况一览表”;报表文件名为two。 (2)使用查询设计器设计一个查询,
7、查询每个班级的“班级号”、“班级名”、“班长名”和“班主任名”,查询结果按“班级号”升序排序,并输出到 one 表中。运行该查询,并将设计的查询保存为oneqpr 文件。注意: 表之间的关联,一个是 student 表的“学号”与 class 表的“班长号”,另一个是 class 表的“班主任号”与 teacher 表的“教师号”。 查询结果的各列的名称分别为“班级号”、“班级名”、“班长名”和“班主任名”。“班长名”列的数据来自于 student 表的“姓名”,“班主任名”列的数据来自于 teacher 表的“教师名”。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行:
8、 OPEN DATABASE sdb ,打开 sdb 数据库环境。 步骤2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”对话框中选“报表”选项,单击“向导”图标按钮,弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 步骤 3:“步骤 1-字段选取”界面的“数据库和表”下选中“student”表,将“可用字段”中的字段添加到“选定字段”中,单击“下一步”按钮。 步骤 4:“步骤 2-分组记录”无操作,单击“下一步”。 步骤 5:“步骤 3-选择报表样式”中选“样式”列表中的“随意式”,单击“下一步”按钮。 步骤 6:“步骤 4-定义报表
9、布局”中设置“列数”为“1”,“字段布局”为“列”,选择“方向”为“纵向”,单出“下一步”按钮。 步骤 7:“步骤 5-排序记录”中双击“可用的字段或索引标识”中的“学号”字段到“选定字段”列表中,单击“下一步”按钮。 步骤 8:“步骤 6-完成”的“报表标题”文本框中输入“学生基本情况一览表”,单击“完成”按钮,在“另存为”对话框的“保存报表为:”框中输入报表文件名。two,单击“保存”按钮。 (2)步骤 1:命令窗口执行: OPEN DATABASE sdb ,打开数据库环境。 步骤 2:命令窗口执行: CREATE QUERY one ,打开查询设计器,在“添加表或视图”对话框中,分别双
10、击“teacher”、“class 和“student”表,将表添加到查询设计器中, 3 个表在查询设计器中建立联系。 步骤 3:双击“student”表和“class”表之间的连线,弹出“联接条件”对话框,在显示“class班级号”的 F 拉框中选择“class班长号”,“student班级号”的下拉框中选择“student学号”,单击“确定”按钮保存修改。 步骤 4:依次双击“class”表中的“班级号”和“班级名”字段,添加到“字段”选项卡的“选定字段”列表中;然后在“字段”选项卡的“函数和表达式”下的文本框中输入表达式:student姓名 as 班长名,再单击“添加”按钮,将其添加到“
11、选定字段”列表中;以同样的方法再向“选定字段”列表中添加一个表达式:teacher教师名as 班丰任名。 步骤 5:执行【查询】【查询去向】菜单命令,弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 one,单击“确定”按钮。 步骤 6:单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。)解析:解析:(1)本题考查的是报表向导的使用,操作前可以将数据库环境打开,这样在报表向导的“步骤 1-字段选取”界面中可直接看到作为报表数据源的表,之后按照向导提示完成题目所要求的设置即可。(2)本题主要考查的查询设计器的使用,首先要判断查询数据源包括哪些数据表
12、,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作的关键有 3 点: 首先是 3 个表的添加川页序,要按照“teacher”表、“class”表和“student”表的顺序进行添加,否则会导致两个表之间无法建立联系,或是导致查询出错。 其次,由于数据库中已存在表之间的联系,在添加数据库表到查询设计器中的时候,会将表之间的联系也一起进行到查询设计器中,而本题中根据题目的要求需要改变这种联系,因此,注意修改表间默认的联系。 最后是字段的重命名,根据题目要求最终输出的字段包括“班长名”和“班主任名”,因此需要利用 AS 短语对原本输出的“student姓
13、名”和“teacher教师名”重新命名。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下创建一个下拉式菜单 mymenumnx,并生成菜单程序 mymenumpr。运行该菜单程序时会在当前 vFP 系统菜单的末尾追加一个“考试”子菜单,如图 3-11 所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令:CREATE MENU mymenumnx,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器“菜单名称”列的文本框中输入“考试”,“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”
14、列的第 1、2 行文本框中依次输入子菜单名“计算”、“返回”,将两个子菜单的“结果”都设置为“过程”,分别单击两个子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。 步骤 3:两个子菜单的过程代码如下: *“计算”子菜单的过程代码* l select avg(数学),avg(英语),avg(信息技术); 2 from chengji into array ttt 3 select xueshenq学号,姓名 ; 4 from xuesheng j。in chengji ; 5 on xuesheng学号=chenqji学号; 6 where 数学=ttt(1) ; 7 and英语=ttt
15、(2) ; 8 and 信息技术=ttt(3); 9 order bv xueshenq学号 desc ; 10 into table table2 *“返回”子菜单的过程代码* 1 SET SYSMENU NOSAVE 2 SET SYSMENU TO DEFAULT 步骤4:执行【显示】【常规选项】菜单命令,在“位置”区域选中“追加”单选项,则新建立的子菜单会在当前 Visual FoxPro 系统菜单后显示。 步骤 5:执行【菜单】【牛成】菜单命令,在弹出的 Visual FoxPro 对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。
16、步骤 6:在命令窗口执行命令:DO mymenumpr,运行菜单,并执行“统计”菜单命令。)解析:解析:本大题考查了菜单的建立及使用;SQL 简单连接查询。 菜单的建立属于比较基本的操作,注意向系统菜单追加菜单项时,应在菜单设计器中打开“常规选项”对话框进行设置。 本题的关键是SQL 简单连接查询,用来查询的数据表是 xuesheng 表和 chengj i,连接字段是“学号”;在筛选条件中,根据题意,可将本题的筛选要求看成是“数学”大于数学平均分,且“英语”大于英语平均分,且“信息技术”大于信息技术平均分,同时满足这 3 个条件就相当于每门课程的成绩都大于等于所有同学在该门课程上的平均分,利用 SQL 简单计算查询可以得到每门课程的平均分,计算函数为 AVG。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1