1、国家二级 VF机试(操作题)-试卷 281及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开“订单管理”数据库,然后从中删除 customer表。 (2)为 employee表建立一个普通索引,索引名为 xb,索引表达式为“性别”,升序索引。 (3)为 employee表建立一个普通索引,索引名为 xyz,索引表达式为“str(组别,1)+职务”,升序索引。 (4)为 employee表建立主索引,为 orders建立普通索引,索引名和索引表达式均为“职员号”。通过“职员号”在 employee表和 orders之间建立一个一对多的永久
2、联系。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)使用报表向导建立一个简单报表。要求选择 salarys表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段部局为“列”,方向为“纵向”;排序字段为“雇员号”(升序):报表标题为“雇员工资一览表”;报表文件名为 printl。 (2)在考生文件夹下有一个名称为 form1的表单文件,表单中的两个命令按钮的 Click事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改: 将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。 单击“浏览雇员工资”命令按钮时,使用 S
3、ELECT命令查询 salarys表中所有字段信息供用户浏览。 单击“退出表单”命令按钮时,关闭表单。 注意:每处错误只能在原语句上进行修改,不能增加语句行。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform的表单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作: 在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType属性为 3,在 RowSource属性中使用 SQL的 SELECTINTO CURSOR语句根据“国家”表中“国家名称”
4、字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm中,那么在 SQL SELECT语句中使用短语 intotable &gm就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4个自由表。(分数:2.00)
5、_国家二级 VF机试(操作题)-试卷 281答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开“订单管理”数据库,然后从中删除 customer表。 (2)为 employee表建立一个普通索引,索引名为 xb,索引表达式为“性别”,升序索引。 (3)为 employee表建立一个普通索引,索引名为 xyz,索引表达式为“str(组别,1)+职务”,升序索引。 (4)为 employee表建立主索引,为 orders建立普通索引,索引名和索引表达式均为“职员号”。通过“职员号”在 employee表和 orders之间建立一个一对多的永久
6、联系。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE 订单管理 ,打开数据库设计器。右击数据库设计器中的“customer”表,选择【删除】快捷菜单命令,在弹出的 Visual FoxPro对话框中单击“删除”按钮,将“customer”表永久性删除。 (2)接上小题操作,在数据库设计器中右击数据库设计器中的 employee表,选择【修改】快捷菜单命令,打开 employee表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“xb”,在“索引”选项卡中将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入“性别”。 (3)
7、接上小题操作,继续在表设计器的“索引”选项卡的第二行中,输入“索引名”为“xyz”,在“索引”选项卡中将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入:STR(组别,1)+职务。 (4)接上小题操作,继续在表设计器的“索引”选项卡的第三行中,输入“索引名”为“职员号”,在“索引”选项卡中将“类型”选择为“主索引”,在“表达式”下方的文本框中输入“职员号”,单击“确定”按钮保存表结构修改。 参照以上操作,为 orders表建立一个“职员号”字段的普通索引。在数据库设计器中拖动 employee表“索引”下方的主索引“职员号”到 orders表中“索引”下方的普通索引“职员号”上,为两
8、个表建立联系。)解析:解析:本大题考查了数据库的基本操作;索引的建立;表间联系的建立。 在数据库中删除和添加表时,可以打开数据库设计器操作,注意删除表时选择正确的操作。 根据多个字段建立索引表达式时,需要表设计器“索引”选项卡的“表达式”中进行设置,该索引表达式可以直接输入,也可以打开“表达式生成器”建立。 对两个表建立联系是在数据库设计器中进行操作的,通过两个表中的主索引和普通索引进行联接。二、简单应用题(总题数:1,分数:2.00)2.(1)使用报表向导建立一个简单报表。要求选择 salarys表中所有字段;记录不分组;报表样式为“随意式”;列数为“1”,字段部局为“列”,方向为“纵向”;
9、排序字段为“雇员号”(升序):报表标题为“雇员工资一览表”;报表文件名为 printl。 (2)在考生文件夹下有一个名称为 form1的表单文件,表单中的两个命令按钮的 Click事件下的语句都有错误,其中一个按钮的名称有错误。请按如下要求进行修改,修改完成后保存所做的修改: 将按钮“刘缆雇员工资”名称修改为“浏览雇员工资”。 单击“浏览雇员工资”命令按钮时,使用 SELECT命令查询 salarys表中所有字段信息供用户浏览。 单击“退出表单”命令按钮时,关闭表单。 注意:每处错误只能在原语句上进行修改,不能增加语句行。(分数:2.00)_正确答案:(正确答案:(1) 步骤 1:在命令窗 H
10、执行命令: OPEN DATABASE salarv_db ,打开数据库环境。 步骤 2:执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在弹出的“新建”对话框中选中“报表”选项,然后单击“向导”图标按钮,系统弹出“向导选取”对话框,选中“报表向导”项,单击“确定”按钮,启动报表向导。 步骤 3:在报表向导的“步骤 1-字段选取”界面的“数据库和表”下选中“salarys”表,将“可用字段”中的字段全部添加到“选定字段”中,单击“下一步”按钮。 步骤 4:在报表向导的“步骤 2-分组记录”界面中,单击“下一步”按钮。 步骤 5:在报表向导的“步骤 3-选择报表样式”界面的“样
11、式”下选择“随意式”,单击“下一步”按钮。 步骤6:在报表向导的“步骤 4-定义报表布局”界面中列数为“1”,字段部局为“列”,方向为“纵向”;单击“下一步”按钮。 步骤 7:在报表向导的“步骤 5-排序记录”界面中双击“可用的字段或索引标识”中的“雇员号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”按钮。 步骤 9:在报表向导的“步骤 6-完成”界面中的“报表标题”下方文本框中输入“雇员工资一览表”,单击“完成”按钮。 步骤 9:在“另存为”对话框的“保存报表为:”框中输入报表文件名 print1,单击“保存”按钮。(2) 步骤 1:在命令窗口执行命令: MODIFY FORMf
12、orm1 ,打开 form1表单设计器。 步骤 2:在表单中选中“刘缆雇员工资”命令按钮,然后在“属性”面板的“全部”选项卡中修改 caption属性值为“浏览雇员工资”。 步骤 3:双击“浏览雇员工资”命令按钮,修改 Click事件代码。 *“浏览雇员工资”按钮的 Click事件代码* SELECT FORM salarys 修改后的 click事件代码如下: *“浏览雇员工资”按钮的 Click事件代码* SELECT*FROM salarys 步骤 4:双击“退出表单”命令按钮,修改Click事件代码。 *“退出表单”按钮的 click事件代码* DELETE THISFORM 修改后的
13、 Click事件代码如下: *“退出表单”按钮的 Click事件代码* THISFORMRELEASE 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。)解析:解析:(1)本题主要考查的是报表向导的使用。利用报表向导制作报表属于比较简单的操作,可以通过“新建”对话框打开报表后,根据向导提示一步步完成即可。 (2)本题主要考查了表单及控件的常用属性的设置。修改标题的属性是 Caption属性,另外要熟记 SQL最基本的查询语句格式,释放和关闭表单的方法是 Release。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下有一个名为 myform的表
14、单,表单中包括一个列表框和两个命令按钮。请在该表单中完成如下操作: 在表单设计器环境下设置列表框的数据源(RowSource)和数据源类型(RowSourceType)两个属性。设置 RowSourceType属性为 3,在 RowSource属性中使用 SQL的 SELECTINTO CURSOR语句根据“国家”表中“国家名称”字段的内容在列表框中显示“国家名称”(注意:不要使用命令指定这两个属性)。 为“生成表”命令按钮编写程序。程序的功能是根据表单运行时列表框中选定的国家名称,将“获奖牌情况”表中相应国家的所有记录存入以该国家名称命名的自由表中,自由表中包含“运动员名称”、“项目名称”和
15、“名次”三个字段,并按照“名次”升序排列。 提示:假设从列表框中选择的国家名称存放在变量 gm中,那么在 SQL SELECT语句中使用短语 intotable &gm就可以将选择的记录存入以该国家名命名的自由表中。 运行表单,分别生成存有“中国”、“日本”、“美国”、“俄罗斯”4 个国家获奖情况的 4个自由表。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: MODIFY FORM myform ,打开表单设计器修改表单。 步骤 2:选中表单中的列表框(List1),在属性面板中修改其 RowSourceType属性值为:3-SQL 语句;同时指定 RowSource属性值
16、为: SELECT 国家名称 FROM国家 INTO CURSOR mylist 步骤 3:双击“生成表”命令按钮,编写 Click事件代码。代码如下: *“生成表”按钮的 Click事件代码* gm=“SS“ gm=THISFORMLIST1VALUE SELECT 运动员名称,项目名称,名次; FROM 获奖牌情况,国家 WHERE国家国家名称=qm; AND 获奖牌情况国家代码=国家国家代码; ORDER BY 名次 INTO DBF &qm 步骤4:单击“常用”工具栏中的“运行”按钮查看结果,分别选中列表框中的“中国”、“日本”、“美国”和“俄罗斯”4 个条目生成对应的表,将表单文件保存到考生文件夹。)解析:解析:本大题考查了表单及控件的常用属性和方法的设置;SQL 简单联接查询。 本题关键是 SQL查询语句中怎样将列表框中被选中的“国家名称”内容命名为表名。解决此问题的方法就是先定义一个变量等于列表框中的被选定的条目值,然后使用宏替换函数(&)将变量值替换出来。 本题进查询的两个表是“国家”表和“获奖牌情况”表通过“国家代码”联接,利用 ORDER BY对查询结果排序,利用 INTO DBF(或 INTO TABLE)将结果输出到数据表中。