1、国家二级 VF机试(操作题)模拟试卷 175及答案与解析 一、基本操作题 1 在考生文件夹下完成下列操作 (在 “成绩管理 ”数据库中完成 ): (1)为 “学生 ”表在 “学号 ”字段上建立升序主索引,索引名为学号。 (2)为 “学生 ”表的 “性别 ”字段定义有效性规则,规则表达式为:性别 $”男女 ”,出错提示信息是: “性别必须是男或女 ”。 (3)在 “学生 ”表的 “性别 ”和 “年龄 ”字段之间插入一个 “出生日期 ”字段,数据类型为“日期型 ”(修改表结构 )。 (4)用 SQL的 UPDATE命令将学生 “王三风 ”的出生 日期修改为 1983年 5月 1日,并将该语句粘贴在
2、 sql txt文件中 (第一行且只占一行 )。 二、简单应用题 2 (1)在 score manager数据库中统计选修了课程的学生人数 (选修多门时,只计算 1次 ),统计结果保存在一个新表 new table中,表中只有一个字段,字段名为学生人数。 (2)使用一对多报表向导建立报表。要求:父表为 “学生 ”,子表为 “课程 ”,从父表中选择 “姓名 ”字段,从子表中选择全部字段,两个表通过 “学号 ”建立联系;按 “学号 ”降序排序;生成的报表名为 student_report。 三、综合应用题 3 基于数据库 pdtmng建立如图 27所示顶层表单应用,表单文件名为myform scx
3、,表单控件名为 goods,表单标题为 “商品 ”。 表单内含一表格控件Grid1(默认控件名 ),当表单运行时,该控件将按用户的选择 (单击菜单 )来显示products dbf中某一类商品数据, RecordSourceType的属性为 “4一 SQL说明 ”。 建立菜单 (菜单文件名为 mymenu mnx),其条形菜单的菜单项为 “商品分类 ”和“退出 ”, “商品分类 ”的下拉菜单为 “小家电 ”、 “饮料 ”和 “酒类 ”;单 击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品。 在表单的 Load事件中执行菜单程序 mymenu mpr。 菜单项 “退出 ”的功能是关闭表单
4、并返回到系统菜单 (在过程中完成 )。 国家二级 VF机试(操作题)模拟试卷 175答案与解析 一、基本操作题 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABAsE成绩管理,打开 “成绩管理 ”数据库设计器。 右击数据库设计器中的 “学生 ”表,选择【修改】快捷菜单命令,打开 “学生 ”表设计器,在 “字段 ”选项卡中选中 “学号 ”,在 “索引 ”列中选择 “升序 ”,然后将 “索引 ”选项卡中 “学号 ”的 “类型 ”更改为 “主索引 ”。 (2)接上小题操作,在 “学生 ”表设计器中选中 “字段 ”选项卡中的 “性别 ”字段,在“字段有效性 ”的 “规则 ”文本
5、框中输入:性别 $“男女 “,在 “信息 ”文本框中输入: ”性别必须是男或女 ”。 (3)接上小题操作,在 “学生 ”表设计器中选中 “字段 ”选项卡中的 “年龄 ”字段,然后单击表设计器右边的 “插入 ”按钮,插入一个新字段行,修改 “字段名 ”为:出生日期,修改 “类型 ”为:日期型。单击 “确定 ”按钮保存表修改。 (4) 在命令窗口执行命令: MODIFY FILE SQL,打开文本文件编辑器。 在编辑器中输入 SQL更新记录的代码: UPDATE学生 SET出生日期 =1983-05-01WHERE姓名 =“王三风 “ 在命令窗口执行命令: DO SQLTXT,执行文小文件。 【试
6、题解析】 本题考查了表索引的建立;字段有效性规则的建立;表结构修改和SQL更新语句。 表索引也可以在表设计器中建立,在表设计器的 “字段 ”选项卡中可先建立一个普 通索引,然后在 “索引 ”选项卡中修改索引类型。 字段有效性规则是在表设计器中建立的, “默认值 ”、 “规则 ”和 “信息 ”的设置均属于字段有效性规则范围,在输入各有效性规则的值时要注意对应的数据类型,且在表设计器中可在字段任意间位置插入新字段。 利用 SQL UPDATE语句可以更新表中记录,本题只需熟记 SQL更新语句,直接套用即可完成表记录的更新。 二、简单应用题 2 【正确答案】 (1) 在命令窗口执行如下命令: SEL
7、ECT count(distinct学号 )AS学生人 数; FROM score1; into table NEW_TABLE (2) 步骤 1:命令窗口执行: OPEN DATABASE SCORE_MANAGER,打开score manager数据库。 步骤 2:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,单击 “向导 ”图标按钮,系统弹出“向导选取 ”对话框,选中 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向 导。 步骤 3: “步骤 1-从父表选择字段 ”中,单击 “数据库和表 ”列表框右侧
8、的省略号,在 “打开 ”对话框中选 “学生 ”表,再单击 “确定 ”按钮,将 “可用字段 ”中的 “姓名 ”字段添加到 “选定字段 ”中,单击 “下一步 ”。 步骤 4: “步骤 2-从子表选择字段 ”中单击 “数据库和表 ”列表框右侧的省略号,在 “打开 ”对话框中选 “课程 ”表,再单击 “确定 ”按钮,将 “可用字段 ”全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 5“步骤 3为表建立关系 ”中系统自动建立两个表的联系,单击 “下一步 ”按钮。 步骤 6: “步骤 4排序记录 ”中双击 “可用的字段或索引标识 ”中的 “学号 ”字段到“选定字段 ”列表中,再选择 “降序
9、”,单击 “下一步 ”按钮。 步骤 7: “步骤 5选择报表样式 ”中单击 “下一步 ”。 步骤 8: “步骤 6完成 ”中单击 “完成 ”按钮。 步骤 9:在 “另存为 ”对话框的 “保存报表为: ”框中输入表单文件名student_report,单击 “保存 ”按钮。 【试题解析】 (1)本题主要考查了 SQL查询。 因为一个学生可能选修多门课程,所以只需要求出 score1表中不重复学号 的个数,即得到选修了课程的学生人数。 Count函数用来计数, distinct短语用来去除重复值。 (2)本题主要考查的是报表向导的使用。根据向导提示一步步完成即可。 三、综合应用题 3 【正确答案】
10、 步骤 1:在命令窗口执行命令: CREATE FORM myform,打开表单设计器新建表单。从 “表单控件 ”工具栏中向表单添加一个表格控件。 步骤 2:在“属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值:表单及控件属性设置见表 3 8。 步骤 3:在命令窗口执行命令: CREATE MENU mymenu,在弹出的 “新建菜单 ”对话框中单击 “菜单 ”图标按钮,打开菜单设计器。 步骤 4:在菜单设计器 “菜单名称 ”列的文本框中依次输入 “商品分类 ”和 “退出 ”两个主菜单名, “商品分类 ”菜单命令的“结果 ”下拉框中选择为 “子菜单 ”,单击 “创建 ”
11、按钮进入下级菜单设计,在 “菜单名称 ”列的第 1、 2、 3行文本框中依次输入子菜单名 “小家电 ”、 “饮料 ”和 “酒类 ”,将 3个子菜单的 “结果 ”都设置为 “过程 ”,分别单击 3个过程后面的 “创建 ”按钮打开过程编辑器,编写过程代码。 步骤 5:三个过程代码如下: “小家电 ”菜单命令的过 程代码: myform Grid1 RecordSource=“SELECT products * FROM products,cateqory WHERE category分类编码 =products分类编码 AND分类名称 =小家电 INTO CURSOR lsb“。 “饮料 ”菜单命
12、令的过程代码: myform Grid1 RecordSource=“SELECT products * FROM products, cateqory WHERE category分类编码 =products分类编码 AND分类名称 =饮料 INTO CURSOR lsb“。 “酒类 ”菜单命令的过程代码: myform Grid1 RecordSource=“SELECT products * FROM products, cateqory WHERE category分类编码 =products分类编码 AND分类名称 =酒类 INTO CURSOR lsb“。 步骤 6:通过 “菜单级
13、 ”下拉框返回主菜单项设计界面,设置 “退出 ”菜单项的 “结果 ”列为 “过程 ”,并通过单击 “创建 ”按钮打开一个窗口来添加 “退出 ”菜单项要执行 的命令: myform relea se。 步骤 7:执行【显示】 【常规选项】菜单命令,在弹出的 “常规选项 ”对话框中勾选 “顶层表单 ”复选框,然后单击 “确定 ”按钮,保存修改。如图 3-27所示。 步骤 8:执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击“是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件 (mymenu mpr)。 步骤 9:在命令窗口
14、执行命令: MODIFY FORM myform,打开表单设计器。选中表单,在 “属性 ”窗口中设置表单 (goods)的“ShowWindow”属性值为 “2-作为顶层表单 ”。 步骤 10:双击表单 (goods)编写表单的Load事件代码: DO MYMENU MPR WITH THIS, T。 步骤 11:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本题的主要考核点是:表单控件的属性的修改、 SQL语句运用、菜单的建立、顶层表单的设置等知识点。 表单控件名用 Name属性设置,标题用 Caption设置。表格的ReCOrdSourc
15、eType属性用来指明表格数据源 的类型。 为顶层表单添加下拉式菜单,应先在 “菜单设计器 ”中按要求设计下拉式菜单,然后做两个设置:一是在 “显示 ”菜单下的 “常规选项 ”对话框中选择 “顶层表单 ”复选框,说明该菜单应用在顶层菜单中,二是将表单的 ShowWindow属性值设置成“2-作为项层表单 ”,使其成为顶层表单。在菜单设计时, “小家电 ”、 “饮料 ”和 “酒类 ”3个菜单项对应的操作应该由过程实现,分别通过 SQL语句编写 3个查询,并将查询赋值给表格 Gridl的 RecordSOurce属性。这里注意:查询的 select语句要用引号引起来。 在顶层表单中运行菜单,格式为: DOWITH This, “” 其中文件名指定为被调用的菜单程序文件,扩展名 mpr不能省略。 This表示当前表单对象的引用。通过 可以为被添加的下拉式菜单的条形菜单指定一个内部名字,也可以省略。 在顶层表单的菜单中关闭表单,应该引用表单的名称 (Name值 ),并使用 Release方法关闭表单: Release。