1、国家二级 VF机试-试卷 124及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、tabe 和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用
2、报表向导建立一个简单报表,要求选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)建立表单,表单文件名和表单控件名均为 myform_da。为表单建立快捷菜单 scmenu_d,快捷菜单有选项“时间”和“日期”;运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择快捷菜单的“时间”项,表单标题将显示当前系统时间,选择快捷菜单的“日期”项,表单标题将显示当前系统日期。 注意:显示时间和日期用过程实现。 (2)使用 SQL命令从 worker中查询年龄最大的三名职工信息:职工
3、号、姓名、出生日期,查询结果按年龄降序(即出生日期升序)排序并保存在表 infor dbdbf 中。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.建立一个文件名和表单名均为 myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和 Command2),Command1 和 Command2的标题分别为“计算”和“退出”。 列表框(List1)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两
4、个属性,否则将不能得分)。 为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。 运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”组歌手的评分信息。(分数:2.00)_国家二级 VF机试-试卷 124答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.
5、基本操作题()(分数:2.00)_解析:2.在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为PK,索引表达式为:部门号+年度+月份。 (2)将自由表 datatest、model、tabe 和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位)。 (4)使用报表向导建立一个简单报表,要求选择表 sell中所有字段(其他不做要求),报表文件名为 two。(分数:2.00)_正确答案:
6、(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE test_db ,打开 test_db数据库设计器。 右击数据库设计器中的 sell表,选择【修改】快捷菜单命令,打开 sell表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“PK”,在“索引”选项卡中将“类型”选择为“主索引”,在表达式下方的文本框中输入“部门号+年度+月份”,建立主索引。 (2)在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击 datatvst表,将表添加到数据库中,以同样的方法将 model、tabc 和 pass表添加到数据库中。 (3)在数据库设计器
7、中右击鼠标,选择【新建表】快捷菜单命令,在弹出的“新建表”对话框中单击“新建表”图标按钮,然后在弹出的“创建”对话框的“输入表名”框中输入 test,单击“保存”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击“确定”按钮。此时系统会弹出一个对话框询问“现在输入数据记录吗?”,本题不要求录入数据,单击“否”按钮。 (4)执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 在报表向导的
8、“步骤 1字段选取”界面的叫“数据库和表”下选中 sell表,将“可用字段”中的字段全部添加到“选定字段”中。 由于本题不再要求其他操作,可以直接单击“完成”按钮跳至向导最后一个界面。继续单击“完成”按钮,在“另存为”对话框的“保存报表为:”框中输入报表文件名 two,单击“保存”按钮。)解析:解析:本题考查了表索引的建立;数据库的基本操作;数据表的建立;报表向导的使用。 根据多个字段建立索引表达式时,需要在表设计器“索引”选项卡的“表达式”中进行设置,该索引表达式可以直接输入,也可以打开“表达式生成器”建立。 向数据库中添加表需要打开数据库设计器进行添加;创建数据库表时,可以通过数据库设计器
9、中的快捷菜单命令打开表设计器建立表。 报表向导的使用非常简单,通过“新建”对话框或莱单命令启动向导后,按照向导提示完成题目所要求的设置即可。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)建立表单,表单文件名和表单控件名均为 myform_da。为表单建立快捷菜单 scmenu_d,快捷菜单有选项“时间”和“日期”;运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择快捷菜单的“时间”项,表单标题将显示当前系统时间,选择快捷菜单的“日期”项,表单标题将显示当前系统日期。 注意:显示时间和日期用过程实现。 (2)使用 SQL命令从 worker中查
10、询年龄最大的三名职工信息:职工号、姓名、出生日期,查询结果按年龄降序(即出生日期升序)排序并保存在表 infor dbdbf 中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: CREATE MENUscmenu_d ,在弹出的“新建菜单”对话框中单击“快捷菜单”图标按钮,打开快捷菜单设计器。 步骤 2:在快捷菜单设计器“菜单名称”列的文本框中依次输入“日期”和“时间”两个主菜单名,在“结果”下拉框中选择为“过程”。分别单击两个过程后面的“创建”按钮打开过程编辑器,编写过程代码。两个过程代码如下: “日期”菜单命令: MYFORM_DACAPTION=DTOC(
11、DATE() “时间”菜单命令: MYFORM_DACAPTION=TIME() 步骤3:单击工具栏中的“保存”按钮,然后执行【菜单】【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(semcnu_dmpr)。 步骤 4:在命令窗口执行命令: CREATE FORMmvform_da ,打开表单设计器新建表单,同时在“属性”窗口中修改表单的“Name”属性值为“myform_da”。 步骤 5:双击表单,编写表单的 RightClick(鼠标右击)事件代码为: DO scmenu_dmpr
12、。 步骤 6:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 (2)在命令窗口执行以下 SQL命令(以下程序是通过查询设计器生成): SELECT TOP 3 职工号,姓名,出生日期; FROM worker ; ORDER BY 出生日期; INTO TABLE infor_dbdbf)解析:解析:(1)本题考查的是快捷菜单的设计。操作关键主要包括以下几点: 在打开菜单设计器时,“新建菜单”对话框中一定要单击“快捷菜单”,而不是“菜单”。进入快捷菜单设计器后,其他的操作类似下拉菜单的操作。 在表单中调用快捷菜单时,一般都是通过 RightClick(鼠标右击)事件
13、中调用,调用菜单文件时,菜单文件名不能缺省。 (2)本题主要考查 SQL中特殊选项 TOP短语的使用,该短语必须与排序短语 ORDER BY 一起使用才有效。对于 SQL语句不太熟悉的考生,也可以直接在查询设计器中进行设计,TOP 短语对应查询设计器“杂项”选项卡中的“记录个数”。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.建立一个文件名和表单名均为 myform的表单,表单中包括一个列表框(List1)和两个命令按钮(Command1和 Command2),Command1 和 Command2的标题分别为“计算”和“退出”。 列表框(List
14、1)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为“01”、“02”、“03”、“04”(注意:不要使用命令指定这两个属性,否则将不能得分)。 为“计算”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的“组号”,将“评分表”中该组歌手(“歌手编号”字段的左边两位表示了该歌手所在的组号)的所有记录存入自由表 twodbf 中,twodbf 的表结构与“评分表”相同,表中的记录先按“歌手编号”降序、再按“分数”升序排列。 运行表单,在列表框中指定组号“01”,并且单击“计算”命令按钮。注意:结果 two表文件中只能且必须包含“01”
15、组歌手的评分信息。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORMmyform ,打开表单设计器新建表单。步骤 2:从“表单控件”工具栏中依次向表单添加一个列表框和两个命令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 2-13。 )解析:解析:本大题考查了表单及控件的常用属性和方法的设置;SQL 排序查询。 本题关键是怎样获取列表框所选条目的值,这可以通过列表框的 Value属性取得,Value 值等于当前列表框中被选中的条目。 另外,可以通过表框的 RowSourceType和 RowSource属性指定列表框的数据源类型和数据源;通过字符串截取函数从“歌手编号”字段中得到歌手的组号。 SQL 排序查询中,用来排序的短语为 ORDER BY,降序的关键字为 DESC,默认的排序方式为升序方式(ASC),根据多个字段排序时,需要在各字段之间加逗号隔开。