1、国家二级 VF机试(操作题)模拟试卷 373及答案与解析 一、基本操作题 1 在考生文件夹下,打开招生数据库 sdb,完成如下操作: (1)在 ksb表中增加一个名为 “备注 ”的字段、字段数据类型为 “字符 ”、宽度为30。 (2)在考生成绩表 kscjb中给成绩字段设置有效性规则和默认值,成绩 0 AND成绩 150;默认值为 0。 (3)通过 “考生号 ”字段建立 ksb表和 kscjb表间的永久联系,并为该联系设置参照完整性约束:更新规则为 “级联 ”;删除规则为 “限制 ”;插入规则为 “忽略 ”。 (4)使用报表向导建立一个简单报表。要求选择考生表 ksb中所有字段;记录不分组;报
2、表样式为 “随意式 ”;列数为 1,字段布局为 “列 ”,方向为 “纵向 ”;排序字段为 “考生号 ”(升序 );报表标题为 “考生成绩一览表 ”;报表文件名为 one frx。 二、简单应用题 2 在考生文件夹下,打开招生数据库 sdb,完成如下简单应用: (1)使用一对多表单向导选择 ksb表和 kscib表生成一个名为 two的表单。要求从父表 ksb中选择所有字段,从子表 kscib中选择所有字段,使用 “考生号 ”建立两表之间的关系,样式 为阴影式;按钮类型为图片按钮;排序字段为考生号 (来自ksb),升序;表单标题为 “考生数据输入维护 ”。 (2)在考生文件夹下打开命令文件 th
3、ree prg,该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表 three中。注意,该命令文件在第 3行、第 6行、第 9行有错误,打开该命令文件,直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 三、综合应用题 3 在考生文件夹下,打开招生数据库 sdb,完成如下综合应用: 创建文件 名为 form的表单,将表单标题改为:录取研究生。 在表单中设计 “录取 ”和 “退出 ”两个按钮。两个按钮功能分别如下: 在 “录取 ”按钮 (Command1)中,编写程序,查询总成绩大于或等于 330分的考生的 “考生号 ”、 “
4、姓名 ”、 “性别 ”、 “单位 ”和该生的 “政治成绩 ”、 “外语成绩 ”、 “高数成绩 ”(即高等数学成绩 )、 “专业课成绩 ”、 “总成绩 ”,并将结果按 “总成绩 ”降序排序存储到表 four中。表 four(需要自己创建或生成 )的字段名为: “考生号 ”、 “姓名 ”、 “性别 ”、 “单位 ”、 “政治成绩 ”、 “外语成绩 ”、 “高数成绩 ”、 “专业课成绩 ”、 “总成绩 ”(各成绩字段的类型为 N(5, 1),其他字段的类型与原表中一致 )。 单击 “退出 ”按钮 (Command2)时,关闭表单。 表单设计完成后,运行表单,单击 “录取 ”按钮进行统计,然后单击 “
5、退出 ”按钮关闭表单。 注:在考试科目代码表 dm中存储了各考试科目与考试科目名对应关系。 国家二级 VF机试(操作题)模拟试卷 373答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行: MODIFY DATABASE sdb,打开数据库设计器。 数据库设计器中,右击 ksb表选择【修改】,打开 ksb表设计器, “字段 ”选项卡的 “字段名 ”列的最后一个空白文本框中输入字段名 “备注 ”, “类型 ”中选 “字符型 ”, “宽度 ”中输入 “30”,单击 “确定 ”保存修改。 (2)在数据库设计器中,右击 kscjb表,选择【修改】快捷菜单命令,打开 ksc
6、jb表设计器,在 “字段 ”选项卡中选中 “成绩 ”,在 “字段有效性 ”的 “规则 ”文本框中输入:成绩 0 and成绩 150,在 “默认值 ”文本框中输入: 0。 (3) 在数据库设计器中,拖动 kbs表 “索引 ”下方的主索引 “考生号 ”到 kscib表中“索引 ”下方的普通索引 “考生号 ”上,为两个表建立联系。 选中 ksb和 kscib两个表之间的关联线 (被选中的线会变粗 ),先执行【数据库】 【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。在打开的 “参照完整性 ”对话框的表格中:选择 “更新 ”为 “级联 ”; “
7、删除 ”为 “限制 ”; “插入 ”为 “忽略 ”。单击 “确定 ”保存修改。 (4) 命令窗口执行: OPEN DATABASE sdb,打开 sdb数据 库。 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在“新建 ”中选 “报表 ”,单击 “向导 ”图标按钮, “向导选取 ”中选 “报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 “步骤 1-字段选取 ”的 “数据库和表 ”下选 “ksb”表,将 “可用字段 ”全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 “步骤 2-分组记录 ”中,单击 “下一步 ”。 “步骤 3-选择报表样式 ”的 “样式
8、 ”下选择 “随意式 ”,单击 “下一步 ”。 “步骤 4-定义报表布局 ”的 “列数 ”下输入 “1”, 在 “字段布局 ”下选择 “列 ”,在 “方向 ”下选择 “纵向 ”,单击 “下一步 ”。 “步骤 5-排序记录 ”中双击 “可用的字段或索引标识 ”中的 “考生号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”。 “步骤 6-完成 ”中 “报表标题 ”下输入 “考生成绩一览表 ”,单击 “完成 ”按钮。 在 “另存为 ”对话框的 “保存报表为: ”框中输入报表文件名 one,单击 “保存 ”按钮。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:
9、命令窗口执行: OPEN DATABASE sdb,打 开 SDB数据库。 步骤 2:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在 “新建 ”对话框中选 “表单 ”选项,单击 “向导 ”按钮, “向导选取 ”对话框中选“一对多表单向导 ”项,单击 “确定 ”,启动向导。 步骤 3: “步骤 1-从父表选择字段 ”的 “数据库和表 ”下选 “kbs”表,将 “可用字段 ”全部添加到 “选定字段 ”中,单击 “下一步 ”。 步骤 4: “步骤 2-从子表选择字段 ”的 “数据库和表 ”下选 “kscib”表,将 “可用字段 ”全部添加到 “选定字段 ”中,单击 “
10、下一步 ”。 步骤 5: “步骤 3-建立表之间的关系 ”中系统自动建立两个表的联系,单击 “下一步 ”。 步骤 6: “步骤 4-选择表单样式 ”的 “样式 ”下选 “阴影式 ”,在 “按钮类型 ”下 “图片按钮 ”,单击 “下一步 ”。 步骤 7: “步骤 5-排序次序 ”中双击 “可用的字段或索引标识 ”中的 “考生号 ”字段到“选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”。 步骤 8: “步骤 6-完成 ”中的 “请键入表单标题 ”下方输入 “考生数据输入维护 ”,单击 “完成 ”按钮。 步骤 9:在 “另存为 ”对话框的 “保存表单为: ”框中输入表单 文件名 two,
11、单击 “保存 ”按钮。 (2)【操作步骤】 步骤 1:命令窗口执行: MODIFY COMMAND three,打开 three prg程序,命令中的命令代码如下: *该命令文件用来查询所有成绩都高于或等于平均分的学生的考生号和姓名。并将查询结果存储到表 THREE中。 *该命令文件在第 3行、第 6行、第 9行有错误,打开该命令文件。 *直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。 1 SELECT AVG(成绩 ); 2 FROM kscjb; 3 INTO CURSOR tem 4 SELECT 考生号,姓名; 5 FROM ksb; 6 WHER
12、E 考生号 EXISTS; 7 (SELECT *; 8 FROM kscjb; 9 WHERE 成绩 tem(1),考生号 ksb考生号 ); 10 INTO TABLE three 修改程序中的错误行,修改后的程序如下: 1 SELECT AVG(成绩 ); 2 FROM kscjb; 3 INTO ARRAY tem 将平均成绩存放到数组 array中 4 SELECT 考生号,姓名; 外查询,在 ksb表中将每一个考生编号与内查询的结果做比较 5 FROM ksb; 6 WHERE NOT EXISTS; 7 (SELECT*; 在内查询中的 kscjb表中判断是否该考生编号有一门成绩
13、小于平均成绩 8 FROM kscjb; 9 WHERE成绩 tem(1) and 考生号 ksb考生号 ); 10 INTO TABLE three 步骤 2:保存文件修改,在命令窗口执行命令: DO three prg,执行程序文件。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:在命令窗口执行命令: CREATE FORM form,打开表单设计器新建表单。向表单添加两个命令按钮。 步骤 2:选择表单对象,修改属性值,见表 325。步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码如下: *“录取 ”按钮的 Click事件代码* 1 OPEN DATABASE S
14、DB 2 SELECT KSB考生号,姓名,性别,单位,SUM(成绩 ) 总成绩 FROM KSB, KSCJB; 3 WHERE KSB考生号 KSCJB考生号 GROUP BY KSB考生号; 4 HAVING SUM (成绩 ) 330 INTO CURSOR TFEMP 1 5 SELECT 考生号,姓名,性别,单位 FROM TEMP1; 6 ORDER BY 总成绩 DESC INTO TABLE FOUR 7 ALTER TABLE FOUR ADD 政治成绩 N(5, 1) 8 ALTER TABLE FOUR ADD 外语戍绩 N(5, 1) 9 ALTER TABLE FO
15、UR ADD 高数成绩 N(5, 1) 10 ALTER TABLE FOUR ADD 专业课成绩 N(5, 1) 11 ALTER TABLE FOUR ADD 总成绩 N(5, 1) 12 SELECT 考生号,考试科目名,成绩 FROM KSCJB, DM WHERE KSCJB考试科目 DM考试科目; 13 INTO CURSOR TEMP2 14 SELECT FOUR 15 DO WHILE NOT EOF() 16 SELECT 成绩 FROM TEMP2 WHER 考生号 FOUR考生号 AND 考试科目名 “政治 “; 17 INTO ARRAY A1 18 REPLACE
16、政治成绩 WITH A1 19 SELECT 成绩 FROM TEMP2 WHER 考生号 FOUR考生号 AND 考试科目名 “外语 “; 20 INTO ARRAY A2 21 REPLACE外语成绩 WITH A2 22 SELECT 成绩 FROM TEMP2 WHER考生号FOUR考生号 AND 考试科目名 “高等数学 “; 23 INTO ARRAY A3 24 REPLACE 高数成绩 WITH A3 25 SELE 成绩 FROM TEMP2 WHER 考生号FOUR考生号 AND 考试科目名 “专业课 “; 26 INTO ARRAY A4 27 REPLACE 专业课成绩 WITH A4 28 REPLACE 总成绩 WITH 政治成绩外语成绩高数成绩专业课成绩 29 SKIP 30 ENDDO 31 CLOSE DATABASE *“退出 ”按钮的 Click事件代码 * THISFORM.RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮运行表单,单击 “录取 ”进行计算,单击 “退出 ”关闭表单。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1