1、国家二级 VF 机试-试卷 167 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在“学籍管理”数据库中,有学生表与选课表,两表间以学生表为主表,以学号建立一对多联系。设计如图 5-1 所示的表单,当在学生表中选中一个记录时,子表显示相应同学的选课记录。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.1. 根据考生文件夹下的 tx1 表和 jsh 表建立一个查询 query2,查询山单位是“南京大学”的所有教师的姓名、职称、电话,要求查询去向是
2、表,表名是 query2.dbf,并执行该查询。2建立表单 enterf,表单中有两个命令按钮,按钮的名称分别为 cmdin 和 cmdout,标题分别为“进入”和“退出”。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.在考生文件夹下有学生成绩数据库 xuesheng3,包括如下所示 3 个表文件以及相关的索引文件: (1)xs.dbf(学生文件:学号 C8,姓名 C8,性别 C2,班级 C5:另有索引文件 XS.IDX,索引键:学号) (2)cj.dbf(成绩文件:学号 C8,课程名 C20,成绩 N5.1;另有索引文件 CJ.iD
3、X,索引键:学号) (3)cjb.dbf(成绩表文件:学号 C8,姓名 C8,班级 C5,课程名 C12,成绩 N5.1) 设计一个名为 xs3 的菜单,菜单中有两个菜单项“计算”和“退出”。 程序运行时,单击“计算”菜单项应完成下列操作:将所有选修了“计算机基础”的学生的“计算机基础”成绩,按成绩由高到低的顺序填到成绩表文件 chb.dbf 中(首先须将文件中原有数据清空)。 单击“退出”菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下)(分数:2.00)_国家二级 VF 机试-试卷 167 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.
4、00)1.基本操作题()(分数:2.00)_解析:2.在“学籍管理”数据库中,有学生表与选课表,两表间以学生表为主表,以学号建立一对多联系。设计如图 5-1 所示的表单,当在学生表中选中一个记录时,子表显示相应同学的选课记录。 (分数:2.00)_正确答案:(正确答案:操作步骤如下: 在表单中创建 2 个“标签”控件和 2 个“表格”控件,并选好位置和大小。 设置控件的字体和字号。 打开“数据环境设计器”,加入数据库中的表“学生.DBF”和“选课.DBF”,2 个表以学生表为主表,以学号为关键字建立“一对多”的永久关联。表单控件的主要属性见表 5-1。 )解析:二、简单应用题(总题数:2,分数
5、:4.00)3.简单应用题()(分数:2.00)_解析:4.1. 根据考生文件夹下的 tx1 表和 jsh 表建立一个查询 query2,查询山单位是“南京大学”的所有教师的姓名、职称、电话,要求查询去向是表,表名是 query2.dbf,并执行该查询。2建立表单 enterf,表单中有两个命令按钮,按钮的名称分别为 cmdin 和 cmdout,标题分别为“进入”和“退出”。(分数:2.00)_正确答案:(正确答案:1.可以直接在命令窗口输入命令:CREATE QUERY query2,打开查询设计器,新建一个查询。在查询设计器中,分别将 tx1 和 jsh 两个数据表文件添加到查询设计器中
6、,系统自动查找两个数据表中匹配的字段进行内部连接,单击“确定”按钮,如图 2-2 所示。 在查询设计器中的“字段”选项卡中,将“可用字段”列表框中的 jsh.姓名、jsh.职称和 tx1.电话 3 个字段添加到右边的“选定字段”列表框中,在“筛选”选项卡的“字段名”下拉框中选择“tx1.单位”字段,在“条件”下拉框中选择“=”,在“实例”文本框中输入“南京大学”。执行菜单命令“查询”“查询去向”,系统弹出“查询去向”对话框,单击“表”图标按钮,在 “表名”文本框中输入表名 query2,单击“确定”退出,如图 2-3 所示。 执行菜单“查询”“运行查询”,查询结果将自动保存到 query2 数
7、据表中。 2在命令窗口输入命令:CREATE FORM enterf,打开表单设计器。单击表单控件工具栏上的“命令按钮”控件图标,为表单添加两个命令按钮 command1 和 command2,如图 2-4 所示。 在属性刑话框中将命令按钮 command1 的 Name 属性值修改为 cmdin,将 Caption 属性值修改为“进入”,以同样的方法,将第二个命令按钮(command2)的 Name 属性值修改为 cmdout,将 Caption 属性值修改为“退出”,如图 2-5 所示。 )解析:解析:本大题第 1 小题考查的是多表查询文件的建立以及查询去向。在设置查询去向的时候,应该注意
8、表的选择:第 2 小题考查的主要是表单中一些基本控件的建立以及属性的设置,属性设置可直接在属性面板中修改。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下有学生成绩数据库 xuesheng3,包括如下所示 3 个表文件以及相关的索引文件: (1)xs.dbf(学生文件:学号 C8,姓名 C8,性别 C2,班级 C5:另有索引文件 XS.IDX,索引键:学号) (2)cj.dbf(成绩文件:学号 C8,课程名 C20,成绩 N5.1;另有索引文件 CJ.iDX,索引键:学号) (3)cjb.dbf(成绩表文件:学号 C8,姓名 C8,班级
9、 C5,课程名 C12,成绩 N5.1) 设计一个名为 xs3 的菜单,菜单中有两个菜单项“计算”和“退出”。 程序运行时,单击“计算”菜单项应完成下列操作:将所有选修了“计算机基础”的学生的“计算机基础”成绩,按成绩由高到低的顺序填到成绩表文件 chb.dbf 中(首先须将文件中原有数据清空)。 单击“退出”菜单项,程序终止运行。(注:相关数据表文件存在于考生文件夹下)(分数:2.00)_正确答案:(正确答案:在命令窗口输入命令:CREATE MENUxs3,系统弹出一个“新建菜单”对话框,在对话框中单击“菜单”图形按钮,进入菜单设计器环境。根据题目要求,首先输入两个主菜单名称“计算”和“退
10、出”,接着在“计算”菜单行的“结果”下拉框中选择“过程”选项(用于编写程序),在“退出”菜单行的“结果”下拉框中选择“命令”选项(可参考第二大题第 2 小题的设计过程)。 单击“计算”菜单行中的“编辑”按钮,进入程序设计的编辑窗口,在命令窗口中输入如卜程序段: *“计算”菜单命令的程序的程序设计* SET TALK OFF OPEN DATABASE xuesheng3 SELECT cj.学号, xs.班级, xs.姓名, cj.课程名, cj.成绩; FROM xuesheng3!xs INNER JOIN xuesheng3!cj; ON xs.学号 =cj.学号; WHERE cj.课
11、程名 =计算机基础; ORDER BY cj.成绩 DESC; INTO ARRAY AFields Value DELETE FROM cjb INSERT iNTO cjb FROM ARRAY AFieldsValue CLOSE ALL USE cjb PACK USE SET TALK ON * 在“退出”菜单项的“命令”文本框中编写程序代码:SET SYSMENU TO DEFAULT。 选择菜单命令“菜单”“生成”,生成一个菜单文件 xs3.mpr。关闭设计窗口,在命令窗口输入命令:DO xs3.mpr,看到 Visual FoxPro 的菜单栏被新建的菜单所代替,单击“退出”菜单命令将恢复系统菜单。)解析:解析:本大题考查的主要是通过学生表和成绩表的连接,将符合要求的记录添加到新的数据表中。在菜单的“计算”菜单命令设计过程中,在“结果”下拉框选项中应该选择“过程”选项,然后进行查询程序的编辑,在程序设计过程中,可以使用 SQL 查询语句及插入语句来完成设计过程。