1、二级 VISUAL+FOXPRO-43 及答案解析(总分:59.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.1请在考生文件夹下建立一个项目 KS3。 2将考生文件夹下的数据库 cust_m 加入到项目 KS3 中。 3为表 cust 建立主索引,索引名,索引表达式均为客户编号。 为表 order1 建立普通索引,索引名、索引表达式均为客户编号。 4表 cust 和表 order1 必要的索引已建立,为两表建立永久性的联系。(分数:30.00)_二、B二 简单应用题/B(总题数:1,分数:-1.00)2.(1)在考生文件夹中有一个数据库 mydb,其中
2、有数据库表 stu、kech 和 chj。利用 SQL 语句查询选修了“日语”课程的学生的全部信息,并将结果按“学号”升序排序放在 new. dbf 中(库的结构同 stu,并在其后加入课程号和课程名字段)。 (2)在考生文件夹中有一个数据库 mydb,使用“一对多报表向导”制作一个名为 myre 的报表,存放在考生文件夹中。 要求:选择父表 stu 表中的“学号”和“姓名”字段,从子表 kech 中选择“课程号”和“成绩”字段,排序字段选择“学号”(升序),报表样式为“简报式”,方向为“纵向”,报表标题为“学生成绩信息”。(分数:-1.00)_三、B三 综合应用题/B(总题数:1,分数:30
3、.00)3.在考生文件夹下有仓库数据库 ck3,包括如下所示两个表文件: ck(仓库号 C(4),城市 C(8),面积 N(4)zg(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZG3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索所有职工的工资都人于 1220 元(不包括 1220 元)的职工所管理的仓库信息,将结果保存在 wh1 数据表(wh1 为自由表)文件中,该文件的结构和 CK 数据表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注意:相关数据表文件存在于考生文件火下)(分数:30.
4、00)_二级 VISUAL+FOXPRO-43 答案解析(总分:59.00,做题时间:90 分钟)一、B一 基本操作题/B(总题数:1,分数:30.00)1.1请在考生文件夹下建立一个项目 KS3。 2将考生文件夹下的数据库 cust_m 加入到项目 KS3 中。 3为表 cust 建立主索引,索引名,索引表达式均为客户编号。 为表 order1 建立普通索引,索引名、索引表达式均为客户编号。 4表 cust 和表 order1 必要的索引已建立,为两表建立永久性的联系。(分数:30.00)_正确答案:(本题的主要考核点是建立查询。 建立查询可以使用“文件”菜单完成,选择文件一新建查询一新建文
5、件,将 tx1 和 jsh 添加入查询中,从字段中选择姓名、职称和电话字段,单击查询菜单下的查询去向,选择表,输入表名 query2.DBF。最后运行该查询。)解析:二、B二 简单应用题/B(总题数:1,分数:-1.00)2.(1)在考生文件夹中有一个数据库 mydb,其中有数据库表 stu、kech 和 chj。利用 SQL 语句查询选修了“日语”课程的学生的全部信息,并将结果按“学号”升序排序放在 new. dbf 中(库的结构同 stu,并在其后加入课程号和课程名字段)。 (2)在考生文件夹中有一个数据库 mydb,使用“一对多报表向导”制作一个名为 myre 的报表,存放在考生文件夹中
6、。 要求:选择父表 stu 表中的“学号”和“姓名”字段,从子表 kech 中选择“课程号”和“成绩”字段,排序字段选择“学号”(升序),报表样式为“简报式”,方向为“纵向”,报表标题为“学生成绩信息”。(分数:-1.00)_正确答案:(1)在命令窗口中输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口输入如下程序段: *文件 query1.prg 中的程序段* SELECT stu.学号,姓名,年龄,性别,院系号; kech.课程号,chj.课程名; FROM stu, chj,kech; WHERE stu.学号=kech.学号; AND kech.课程号=chj.
7、课程号; AND chj.课程名=“日语“; ORDER BY stu.学号; INTO TABLE new * 在命令窗口输入命令:DO query1,运行程序,通过 BROWSE 命令可查看结果,如图 3-86 所示。 * 图 3-86 (2)在“工具”菜单选择“向导”“报表”菜单命令,出现“向导选取”对话框,根据题意数据源是多个表,因此选定“一对多报表向导”。单击“确定”。 步骤一:在弹出的对话框中“数据库和表”选项选择父表 stu,并把“可用字段”的“学号”和“姓名”选为“选定字段”。 步骤二:选择子表 kech,并把“可用字段”的“课程号”和“成绩”选为“选定字段”。 步骤三:系统自
8、动以“学号”建立两表之间的关系。 步骤四:在“排序记录”中选择“学号”,并选择“升序”排序。 步骤五:报表样式选择为“简报式”,方向为“纵向”。 步骤六:把表单标题改为“学生成绩信息”,可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。 将报表以文件名 myre 保存在考生文件夹里。)解析:解析 本大题 1 小题考查了 SQL 联接查询,设计过程中主要注意两个表之间进行关联的字段;2小题考查的是根据表单向导生成联系多表的报表内容,利用向导时应注意父表和子表的选择。三、B三 综合应用题/B(总题数:1,分数:30.00)3.在考生文件夹下有仓库数据库 ck3,包括如下
9、所示两个表文件: ck(仓库号 C(4),城市 C(8),面积 N(4)zg(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZG3 的菜单,菜单中有两个菜单项“统计”和“退出”。 程序运行时,单击“统计”菜单项应完成下列操作:检索所有职工的工资都人于 1220 元(不包括 1220 元)的职工所管理的仓库信息,将结果保存在 wh1 数据表(wh1 为自由表)文件中,该文件的结构和 CK 数据表文件的结构一致,并按面积升序排序。 单击“退出”菜单项,程序终止运行。 (注意:相关数据表文件存在于考生文件火下)(分数:30.00)_正确答案:(在命令窗口输入命令:CREATE M
10、ENU zg3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设设计器环境。根据题目要求,首先输入两个主菜单名称“统计”和“退山”,接着在“统计”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项,如图 2-6 所示。 * 单击“统计”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在命令窗口中输入如下程序段: *“统计”菜单命令的程序设计* SETTALK OFF SET SAFETY OFF OPEN DATABASE ck3.dbc USE ck SELECT * FROM ck WHERE 仓库号 NO
11、T IN; (SELECT 仓库号 FROM zg WHERE 工资=1220); AND 仓库号 IN(SELECT 仓库号 FROM zg):ORDER BY 面积: INTO TABLE wh1.dbf CLOSE ALL SET SAFETY ON SET TALK ON * 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”“生成”,生成一个菜单文件 zg3.mpr。关闭设计窗口,在命令窗口输入命令:DO zg3.mpr,看到 Visual FoxPro 的菜单栏被新建立的菜单所代替,单击“退出”菜单命令将恢复系统菜单。 执行“统计”菜单命令后,系统自动生成新数据表文件 wh1.dbf用来保存查询结果。)解析:解析 本人题考查的主要是利用 SQL 的嵌套查询来完成两个数据表之间的记录查找,此处应注意运算符 IN 和 NOT lN 的使用;在菜单的设计过程中主要是注意两个菜单命令在“结果”下拉框中应选择的类型。