1、国家二级 VF机试(操作题)模拟试卷 445及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开表单 one,如图 3-21所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件 fiveprg 的功能是:根据“歌手表”计算每个组的歌手人数,将结果填入表onedbf,表 onedbf 中有两个
2、字段:“组号”和“歌手人数”。程序中有 3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名 A不允许修改。(2)建立一个数据库文件“歌手大奖赛dbc”,并将“歌手表”、“评委表”和“评分表”3 个自由表添加到该数据库中。使用视图设计器建立视图 songer_view,该视图根据“歌手表”、“评委表”和“评分表”建立,视图中的字段项包括:“评委姓名”、“歌手姓名”、“分数”,视图中的记录按“歌手姓名”升序、“分数”降序排列。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.建立一个文件名和表单名均为 myform的表单,表单中包括一个列表框(
3、Listl)和两个命令按钮( Commandl和 Command2), Commandl和 Command2的标题分别为“计算”和“退出”。列表框( Listl)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先
4、按“歌手编号”降序、再按“分数”升序排列。运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”组歌手的评分信息。(分数:2.00)_国家二级 VF机试(操作题)模拟试卷 445答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开表单 one,如图 3-21所示,通过设置控件的相关属性,使得表单运行时的开始焦点在“打开”命令按钮,并且接下来的焦点的移动顺序是“关闭”和“退出”。 (分数:2.00)_正确答案:(正确答案:(1)命令窗口执行:MODIFY FORM one,打开表单设计
5、器修改表单。 选择表单对象,修改控件对象属性值,见表 427。 )解析:解析:本题考查了表单控件常用属性的设置;“布局”工具栏的使用;SQL 定义功能和操作功能。 表单设计中,可通过 Tablndex属性设置控件获得焦点的先后次序,通过“布局”工具栏可调整表单窗口中被选控件的相对大小和位置。 SQL 定义语句 CREATE TABLE命令可以创建一个数据表,注意表结构内容要用圆括号括起来。二、简单应用题(总题数:1,分数:2.00)2.(1)歌手比赛分为四个组,“歌手表”中的“歌手编号”字段的左边两位表示了该歌手所在的组号。考生文件夹下的程序文件 fiveprg 的功能是:根据“歌手表”计算每
6、个组的歌手人数,将结果填入表onedbf,表 onedbf 中有两个字段:“组号”和“歌手人数”。程序中有 3处错误,请修改并执行程序。注意:只能修改标有错误的语句行,不能修改其他语句,数组名 A不允许修改。(2)建立一个数据库文件“歌手大奖赛dbc”,并将“歌手表”、“评委表”和“评分表”3 个自由表添加到该数据库中。使用视图设计器建立视图 songer_view,该视图根据“歌手表”、“评委表”和“评分表”建立,视图中的字段项包括:“评委姓名”、“歌手姓名”、“分数”,视图中的记录按“歌手姓名”升序、“分数”降序排列。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行
7、命令: MODIFY COMMANDfive, 打开程序文件,文件中的命令代码如下: 根据“歌手表“计算每个组的歌手人数 CLOSE DATA USE one GO TOP WHILENOTEOF() 错误 zuhao=组号 SELECT COUNT(+)FROM 歌手表 PIHERE歌手表歌手编号=zuhac INTO ARRAY A 错误 REPLACE 歌手人数 INTO A 错误 SKIP ENDDO 修改程序中的错误行,修改后的程序如下: CLOSE DATA USE one GO TOP DO WHILE NOT EOF() zuhao=组号 SELECT COUNT(*)FROM
8、歌手表 WHERE LEFT(歌手表,歌手编号,2)=zuhao INTO ARRAY A REPLACE 歌手人数 WITH A1 SKIP ENDDO 步骤 2:保存文件修改,在命令窗口执行命令: DO five, 执行程序文件。 程序的基本结构;SQL 简单查询。 (2)步骤 1:在命令窗口执行命令: MODIFY DATABASE 歌手大奖赛, 新建并打开数据库设计器。右击鼠标,选择【添加表】,在“打开”对话框中双击“歌手表”添加到数据库中;同样的方法,将“评委表”和“评分表”添加到数据库中。 步骤 2:在数据库设计器中右击,选择【新建本地视图】打开视图设计器,在“新建本地视图”中单击
9、“新建视图”按钮,在“添加表或视图”中依次双击“歌手表”、“评分表”和“评委表”(按顺序添加),添加到视图设计器中。 步骤 3:双击“评委表”中的“评委姓名”字段,“歌手表”中的“歌手姓名”字段和“评分表”中的“分数”字段,将 3个字段添加到“选定字段”中。 步骤 4:“排序依据”选项卡中双击“选定字段”列表框中的“歌手表歌手姓名”字段,添加到“排序条件”列表框中;再双击“选定字段”中的“评分表,分数”字段添加到“排序条件”列表框中,“排序选项”中选择“降序”;以 songer_view名保存视图。使用数据库;视图的建立与使用。)解析:解析:(1)本题考查了 Do WHILE循环语句:SQL
10、简单计算查询;Visual FoxPro 表记录修改命令。 本题的第一处错误是 DO WHILE循环语句的入口语句格式错误,DO 短语是必须的,不可缺少:第二处错误根据题意得知,“歌手编号”字段的左边两位表示该歌手所在的组号,因此,要通过字符串截取函数才能从“歌手编号”字段中得到歌手的组号:第三处错误是 RE PLACE语句的格式错误,使用数组修改当前记录时,应使用 WITH短语,而不是 INTO短语。 (2)本题考查了数据库和表的基本操作:利用视图设计器建立视图。 本题的关键是向数据库设计器中按照一定的顺序依次添加各表,即按照表间联系依次添加表,这样可以保证视图设计器中的各表都存在联接关系。
11、 对 SQL熟悉的考生,可以通过命令方式建立该视图。三、综合应用题(总题数:1,分数:2.00)3.建立一个文件名和表单名均为 myform的表单,表单中包括一个列表框( Listl)和两个命令按钮( Commandl和 Command2), Commandl和 Command2的标题分别为“计算”和“退出”。列表框( Listl)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组
12、号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”组歌手的评分信息。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE FORM myform, 打开表单设计器新建表单。 步骤 2:向表单添加一个列表框和两个命令按钮控件。选择表单对象,修改对象属性值,见表 428。 )解析:解析:本题考查了表单及控件的常用属性和方法的设置:SQL 排序查询。 本题可以通过列表框的Value属性获取列表框所选条目的值,Value 值等于当前列表框中被选中的条目。列表框的RowSourceType和 RowSource属性指定列表框的数据源类型和数据源:通过字符串截取函数从“歌手编号”字段中得到歌手的组号。 SQL 中,用 ORDER BY表示排序,降序为 DESC,默认的排序方式为升序(ASC),多个字段排序时,需要在各字段之间加逗号隔开。