1、国家二级 VF机试模拟试卷 46及答案与解析 一、基本操作题( 30分) 1 1. 请在考生文件夹下建立一个数据库 KS1。 2将考生文件夹下的自由表 xsda.dbf和 QKDY4.DBF加入到新建的数据库 KS1中。 3为表 xsda建立主索引,索引名为 primary key,索引表达式为考生编号 4为表 QKDY4建立候选索引,索引名为 candi key,索引表达式为邮发代号 为表 QKDY4建立普通索引,索引名为 regular key,索引表达式为订阅期数 二、简单应用题 ( 40分) 2 1. 在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT、 SCORE和
2、COURSE 利用 SQL语句查询选修了 “网络工程 ”课程的学生的全部信息,并将结果按学号降序存放在 NETP DBF文件中 (库的结构同 STUDENT,并在其后加入课程号和课程名字段 )。 2在考生文件夹中有一个数据库 STSC,其中有数据库表 STUDENT,使用一对多报表向导制作一个名为 cj2的报表,存放在考生文件夹中。要求:选择父表STUDENT表中学号和姓名字段,从子表 SCORE中选择课程号和 成绩,排序字段选择学号 (升序 ),报表式样为简报式,方向为纵向。报表标题为 “学生成绩表 ”。 三、综合应用题( 30分) 3 在考生文件夹下有仓库数据库 CK3,包括如下所示两个表
3、文件: CK(仓库号 C(4),城市 C(8),面积 N(4) 2G(仓库号 C(4),职工号 C(4),工资 N(4) 设计一个名为 ZC3的菜单,菜单中有两个菜单项 “统计 ”和 “退出 ”。 程序运行时,单击 “统计 ”菜单项应完成下列操作:检索出所有职工的工资都大于。 1220元的职工所管理的仓库信息,将结果保存在 wh1数据表文件中,该文件的结构和 CK数据表文件的结构一致,并按面积升序排序。 单击 “退出 ”菜单项,程序终止运行。 (注:相关数据表文件存在于考生文件夹下 ) 国家二级 VF机试模拟试卷 46答案与解析 一、基本操作题( 30分) 1 【正确答案】 在 “项目管理器
4、”中选择一个数据库,选择 “本地视图 ”,然后选择“新建 ”按钮,打开 “视图设计器 ”。选择所有字段,在 “筛选 ”栏内输入条件 “积分4=1500“,关闭并保存。在数据库设计器中打开视图,用 sort on积分 to v2命令存入新表。 二、简单应用题( 40分) 2 【正确答案】 启动报表向导可在 “文件 ”菜单中选择 “新建 ”或者单击工具栏上的“新建 ”按钮,打开 “新建 ”对话框,文件类型选择报表,单击向导按钮。或者在 “工具 ”菜单中选择 “向导 ”子菜单,选择 报表 ”,或直接单击工具栏上的 “报表向导 ”图标按钮。然后按照向导提示操作即可。 三、综合应用题( 30分) 3 【
5、正确答案】 利用菜单设计器定义两个菜单项,在菜单名称为 “统计 ”的菜单项的结果列中选择 “过程 ”,并通过单击 “编辑 ”按钮打开一个窗中来添加 “统计 ”菜单项要执行的命令。在菜单名称为 “退出 ”的菜单项的结果列中选择 “命令 ”,并在后面的“选项 ”列中输入以下退出菜单的命令: SET SYSMENU TO DEFAULT “统计 ”菜单项要执行的程序: 首先中打开数据库文件 OPEN DATABASE CK3 DBC 下面我们分析所要用到的查询语句的实现,题面要求 “检索出所有职工的工资都大于 1220的职工所管理的仓库信息 ”,所以得到满足以上条件的仓库号成为解答本题的关键。 “所
6、有职工的工资都大于 1220的职工所管理的仓库 ”这个条件可以将其分解为同时满足以下两个条件的结果 “仓库号不存在于 职工的工资小于等于 1220的职工所管理的仓库号中 ”并且 “仓库号存在于表 ZG中 ”,而以上两个条件我们可以利用 SQL轻松写出来。所以最后形成的查询语句以下: SELECT*FROM CK WHERE仓库号 NOT IN(SELECT仓库号 FROM ZGWHERE 工资 =1220)AND仓库号 IN(SELECT仓库号 FROMZG)INTO TABLE wh1. dbf。后面的 INTOTABLE wh1 .dbf决定了查询的结果是生成一个 wh1.dbf文件。 本题还考对查询的排序和查询的去向进行了考核,可以用 ORDER BY order_ ItemASC|DESC来让查询的结果按某一列或某几列的升序 (ASC)或降序 (DESC)进行排列。而查询的去向可以通过 INTO TABLE str Table Name而直接生成一个文件名为 str Table Name的 DBF表。