1、国家二级 VF机试(操作题)-试卷 152及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作:(1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3为只读控件,保存表单。 (4)为表单增加一组如图 2-6所示的选项按钮组(Optiongroupl),4 个按钮依次为“+”、“-”、“*”、“”,
2、保存表单。 注意:所涉及的数字和字母均为半角字符。 (分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据库 SDB,完成如下简单应用:(1)使用查询设计器设计一个名称为 two的查询,查询每个同学的学号(来自 student表)、姓名、课程名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是 two。设计完成后,运行该查询。 (2)修改一个名称为 threeprg的命令文件。该命令文件用来查询平均成绩大于等于 75分以上的每个“女”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表 three中。该命令文件在第
3、2行、第 3行、第 4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。 注意:修改时,不可改变 sq1语句的结构和短语的顺序,不允许增加或合并行。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.建立一个文件名和表单名均为 myfornl的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和 Command2),Command1 和 Command2的标题分别为“计算”和“退出”。 列表框(List1)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框
4、的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。 为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。 运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”组歌手的评分信息。(分数:2.00)_国家二级 VF机试(操作题)-试卷 152答案解析(
5、总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作:(1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3为只读控件,保存表单。 (4)为表单增加一组如图 2-6所示的选项按钮组(Optiongroupl),4 个按钮依次为“+”、“-”、“*”、“”,保存表单。 注意:所涉及的数字和字母均为半角字符。 (
6、分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY FORM calculator ,打开表单设计器修改表单。 在工具栏中,选中“属性”按钮,在“属性”面板的下拉框中选择表单对象 Forml,在“全部”选项卡中将 Name属性值设置为:calculator。 (2)在“属性”面板的下拉框中选择文本控件 Text2,在“全部”选项卡中将 InputMask属性值设置为:“#”。 (3)在“属性”面板的下拉框中选择文本控件 Text3,在“全部”选项卡中将 ReadOnly属性值设置为:T。 (4)从“表单控件”工具栏中向表单添加一个选项按钮组(Optiongroup
7、l)。 右击选项按钮组(optiongroupl),在弹出的快捷菜单中选择【生成器】菜单命令,再在弹出的“选项组生成器”中选中“按钮”选项卡,将“按钮的数目”修改为“4”,并在下面表格的标题一列中,分四行分别输入半角的+、-、*、,最后再选中“布局”选项卡,将“按钮布局”修改为“水平”。如图 325 和图 326 所示。 )解析:解析:本大题考查了表单属性的修改;表单控件的添加;控件属性的设置等。 表单的控件名指的是表单的内部名字,用 NAME属性设置,表示对表单对象的引用。文本框的输入掩码用 INPUTMASK属性设置,用来指定在一个文本框中该如何输入和显示数据。该属性值是一个字符串,该字符
8、串通常由一些固定的模式符组成,每个模式符规定了相应位置上数据的输入和显示行为。如本题中,文本框中仅允许输入数字、正负号和空格,就应该将文本框的 INPUTMASK属性设置为模式符“”,又因为宽度为 10,故设置10个“”。 文本框控件的 READONLY属性用来指定文本框为只读的,不可修改,选项按钮组是一个容器控件,其中包括若干个选项按钮,可以分别设置各个选项的属性值,如本题中的+、-、*、分别是四个选项按钮的名称,应通过设置各选项按钮的 CAPTION属性值实现(注意:选项按钮组的属性和各选项按钮的属性是不一样的)。二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下,打开学生数据
9、库 SDB,完成如下简单应用:(1)使用查询设计器设计一个名称为 two的查询,查询每个同学的学号(来自 student表)、姓名、课程名和成绩。查询结果先按课程名升序、再按成绩降序排序,查询去向是表,表名是 two。设计完成后,运行该查询。 (2)修改一个名称为 threeprg的命令文件。该命令文件用来查询平均成绩大于等于 75分以上的每个“女”同学的学号、姓名、平均成绩和选课门数,结果按选课门数降序排序输出到表 three中。该命令文件在第 2行、第 3行、第 4行、第5行有错误(每行只有一处必须修改的错误,不出错的地方不要做任何修改),打开该命令文件,直接在错误处修改并保存。 注意:修
10、改时,不可改变 sq1语句的结构和短语的顺序,不允许增加或合并行。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:命令窗口执行: OPEN DATABASE sdb ,打开数据库环境。 步骤 2:命令窗口执行: CREATE QUERY two ,打开查询设计器,在“添加表或视图”中,分别双击 student、sc和 course表,添加到查询设计器中,添加的表会自动在查询设计器中建立联系。 步骤 3:“字段”选项卡的“可用字段”中,依次双击“student学号”、“student姓名“、“course课程名”、“sc成绩”,将它们添加到“选定字段”列表中。 步骤 4:在“排序依据
11、”选项卡内双击“选定字段”列表框中的“course课程名”添加到“排序条件”列表框中,“排序选项”选“升序”;双击“选定字段”中的“sc 成绩”,添加到“排序条件”中,“排序选项”选“降序”。 步骤 5:执行【查询】【查询去向】菜单命令,在“查询去向”对话框中单击“表”按钮,在“表名”中输入文件名 two,单击“确定”按钮。 步骤 6:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2) 步骤 1:命令窗口执行: MODIFY COMMAND three ,打开 threeprg 程序,命令代码如下: OPEN DATABASE Sdb SELECT 学号,姓
12、名,AVG(成绩)AS 平均成绩,COUNT(成绩)AS 选课门数; FROM student JOIN sc OF student学号=sc学号; WHERE 性别=“女“AND AVG(成绩)=75; GROUP BY学号; ORDER BY 4 desc; INTO TABLE three 程序中的错误行,修改后的程序如下: OPEN DATABASE s db SELECT student学号,姓名,AVG(成绩)平均成绩,COUNT(成绩)选课门数;&在“学号”字段前加前缀“student”,指明“学号”来自 student表 FROM student JOIN sc ON stud
13、ent 学号=sc学号;&内联接查询中联接条件使用 ON短语 WHERE 性别=“女“; GROUP BY student学号 HAVING AVG(成绩)=75;&having 短语用来指定分组的条件 ORDER BY 4 desc; INTO TABLE three 步骤 2:单击“常用”工具栏中的“保存”按钮,)解析:解析:(1)本题主要考查的是查询设计器的使用,首先要判断查询数据源包括哪些数据表,将数据表添加到查询设计器后,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。本题操作时要注意 3个表的添加顺序,要按照 student表、sc 表和 course表的顺序进行添加,否
14、则会导致两个表之间无法建立联系,或是导致查询出错。 (2)本题主要考查 SQL的联接查询和分组计算查询。联接查询要判断查询输出字段来自哪个表,再正确设置联接条件。在使用内联接时,联接条件应使用 ON短语。当 FROM之后的多个关系中含有相同的属性名时,须用关系前缀指明属性所属的关系,本查询中用到 student和 sc表中都含有“学号”字段,故应写为“stud学号”。“平均成绩大于等于 75”是分组条件,使用HAVING短语。三、综合应用题(总题数:1,分数:2.00)3.建立一个文件名和表单名均为 myfornl的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和 C
15、ommand2),Command1 和 Command2的标题分别为“计算”和“退出”。 列表框(List1)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。 为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。 运行表
16、单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”组歌手的评分信息。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE FORM myform ,打开表单设计器新建表单。 步骤 2:向表单添加一个列表框和两个命令按钮控件。选择表单对象,修改对象属性值,见表 321。 )解析:解析:本题考查了表单及控件的常用属性和方法的设置;SQL 排序查询。 本题可以通过列表框的value属性获取列表框所选条目的值,Value 值等于当前列表框中被选中的条目。列表框的RowsourceType和 Rowsource属性指定列表框的数据源类型和数据源;通过字符串截取函数从“歌手编号”字段中得到歌手的组号。 SQL 中,用 ORDER BY表示排序,降序为 DESC,默认的排序方式为升序(ASC),多个字段排序时,需要在各字段之间加逗号隔开。