1、国家二级 VF机试模拟试卷 182及答案与解析 一、基本操作题( 30分) 1 (1)打开 “订货管理 ”数据库,并将表 order_list添加到该数据库中。 (2)在 “订货管理 ”数据库中建立表 order_detail,表结构描述如下: 订单号 字符型 (6) 器件号 字符型 (6) 器件名 字符型 (16) 单价 浮动型 (10, 2) 数量 整型 (3)为新建立的 order detail表建立一个普通索引,索引名和索引表达式均是 “订 单号 ”。 (4)建立表 order list和表 order detail间的永久联系 (通过 “订单号 ”字段 )。 二、简单应用题( 40分
2、) 2 (1)建立表单,如图 1-3所示。表单文件名和表单控件名均为 formtest,表单标题为 “考试系统 ”,表单背景为灰色 (BackColor=192, 192, 192),其他要求如下: 表单上有 “欢迎使用考试系统 ”(Label1)8个字,其背景颜色为灰色 (BackColor=192, 192, 192),字体为楷体,字号为 24,字的颜色为桔红色 (ForeColor=255, 128,0):当表单运行时, “欢迎使用考试系统 ”8个字向表单左侧移动,移动由计时器控件 Timer1控制,间隔(interval属性 )是每 200毫秒左移 10个点 (提示:在 Timer1控
3、件的 Timer事件中写语句: ThisformLabel1 Left=-Thisform Label1 Left-10),当完全移出表单后,又会从表单右侧移入。 表单有一个命令按钮 (Command1),按钮标题为 “关闭 ”,表单运行时单击此按钮关闭并释放表单。 (2)在 “学生管理 ”数据库中利用视图设计器建立一个视图 sview,该视图包含 3个字段 “课程编号 ”、 “课程名 ”和 “选课人数 ”。然后利用报表向导生成一个报表 creport,该报表包含视图 sview的全部字段和内容。 三、综合应用题( 30分) 3 打开考生文件夹下的 sport_project项目,项目中有一个
4、表单 sport form,表单中包括 3个命令按钮。 请完成如下操作: 编写并运行程序 Four prg。程序功能是:根据 “国家 ”和 “获奖牌情况 ”两个表统计并建立一个新表 “假奖牌榜 ”,新表包括 “国家名称 ”和 “奖牌总数 ”两个字段,要求先按奖牌总数降序排列 (注意 “获奖牌情况 ”的每条记录表示一枚奖牌 )、再按 “国家名称 ”升序排列。 为表单 sport_form中的 “生成表 ”命令按钮编写一条命令,执行 Four prg程序。 将在基本操作中建立的快速报表 sport_report加入项目文件,并为表单sport_form中的命令按钮 “浏览报表 ”编写一条命令,预览
5、快速报表 sport_report。 将自由表 “国家 ”和 “获奖牌情况 ”加入项目文件 sport_project,然后将项目文件连编成应用程序文件 sport_app app。 国家二级 VF机试模拟试卷 182答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASE订货管理,新建数据库并打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的 “打开 ”对话框中双击 “order_list”表。 (2) 在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的 “新建表 ”对话框中单击 “新建
6、表 ”图标按钮,然后在弹出的 “创建 ”对话框的 “输入表名 ”框中输入 “order_derail”,单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,由于本题没有要求输入数据,单击 “否 ”按钮。 (3)右击数据库设计器中的 order_deail表,选择【修改】快捷菜单命令,打开order_detail表设计器,在 “字段 ”选项卡中选中 “订单号 ”,在 “索引 ”列中选择 “升序 ”,然后单击 “确定 ”按钮保存表结构修改。 (4)拖动 orde
7、r list表 “索引 ”下方的候 选索引 “订单号 “到 order_detail表中 “索引 ”下方的普通索引 “订单号 ”上,为两个表建立联系。 【试题解析】 本大题考查了数据库的基本操作;数据库表的建立:索引的建立以及表之间联系的建立。 通过 MODIFY DATABASE数据库名命令可在新建数据库的同时打开数据库设计器,然后在数据库设计器中完成添加数据表的操作。在表设计器的 “字段 ”选项卡中,可以通过选择 “排序 ”下拉框中的 “升序 ”或 “降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引。 二、简单应用题( 40分) 2 【正 确答案】 (1)步骤 1:在命令窗口执
8、行命令: CREATE FORMformtest,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加一个标签、一个计时器和一个命令按钮。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-6。步骤 3:双击计时器(Timer1),编写该控件的 Timer事件代码,代码如下: *计时器 (Timer1)的Timer事件代码 *IF THISFORM LABEL1 LEFT+THISFORM LABEL1 WIDTH =0 &如果标签的右边框与表单 的左边框重合 THISFORM LABEL1 LEFT=THISFORM WIDTH
9、&标签左边距等于表单的宽度值,此时标签的左边框刚好与表单的右边框重合 ELSE THISFORM LABEL1 LEFT=THISFORM LABEL1 LEFT-10 &标签的左边距减 10ENDIF 步骤 4:双击 “关闭 ”命令按钮,编写命令按钮的 Click事件代码:THISFORM RELEASE。 步骤 5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE学生管理,打开数据库环境。 步骤 2:继续在命令窗口执行命令:CREATE VIEW,打开视图设计器。在 “添加表或视图 ”对话框
10、中依次双击 “课程 ”表和 “考试成绩 ”表,将表添加到视图设计器中,添加两个表后,系统弹出 “联接条件 ”对话框,自动查找两个表中相匹配的字段进行联接,单击 “确定 ”按钮设置两个表的联系。 步骤 3:在视图设计器中双击 “课程 ”表中 “课程编号 ”和 “课程名 ”字段,添加到 “选定字段 ”中;然后在 “字段 ”选项卡的 “函数和表达式 ”下的文本框中输入表达式: COUNT(考试成绩学号 ) AS 选课人数,再单击 “添加 ”按钮,将其添加到 “选定字段 ”列表中。如图 2-22所示。步骤 4:在 “分组依据 ”选项卡中双击 “可用字段 ”列表框中的 “课程编号 ”字段到 “分组字段
11、”选项卡中。 步骤5:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将视图以文件名 sview保存。 步骤 6:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向 导选取 ”对话框,选中 “报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 7:在报表向导的 “步骤 1-字段选取 ”界面的 “数据库和表 ”下选中 sview视图文件,将“可用字段 ”中的字段全部添加到 “选定字段 ”中。 步骤 8:由于本题不再要求其他操作,可以直接单击 “完成 ”按钮跳至向导最
12、后一个界面。继续单击 “完成 ”按钮,在“另存为 ”对话框的 “保存报表为: ”文本框中输入报表文件名 cmport,单击 “保存 ”按钮。 【试题解析】 (1)本题考查的是表单的基本设计。除了掌握表单控件的常用属性、事件和方法之外,本题还需要掌握以下几个关键的知识点进行操作: 表单控件在表单中移动方向的控制,这主要通过控件的 Left属性控 制,该属性表示控件的左边界在表单中的位置 Left值越大,表示该控件离表单的左边界越远,因此,要控制控件在表单中向右移动,可以通过逐渐增加 Left值来实现,反之,如果控件向左移动,可以通过逐渐减小 Left值来实现。注意:表单控件没有右边界属性。 由于
13、控件没有右边界属性,因此控件在表单中的水平位置只能通过左边界定位,当控件的 Left值为 0时,控件的左边界与表单的左边界刚好重叠,当 Left值等于表单宽度 (Width)时,与表单右边界重合,而本题要求控件从表单左边进入,即要求控件的右边界与表单左边界重合,因此,需 要用 0减去控件本身的宽度(width),此时控件右边界才刚好与表单左边界重合,标签的移动过程如图 2-21所示。 计时器 Interval属性的含义,通过该属性值中数值的大小,控制表单控件变化的时间间隔,其中,1000表示 1秒,数值越大,时间间隔越小。 通过 IF条件语句判断控件边界与表单边界的位置关系。 (2)本题考查的
14、是视图设计器的使用及报表向导的使用,由于视图只能保存在数据库中,因此要先打开用于保存视图的数据,本题中要注意判断视图中的字段均来自哪个表。 另外,在视图设计器中输入计算表达式时,可直接在视图设 计器 “字段 ”选项卡的 “函数和表达式 ”下的文本框中输入表达式,同时也可以通过打开 “表达式生成器 ”对话框进行输入,要为输入的表达式指定一个新的视图字段名,可以通过 AS短语指定用于计数的函数为 COUNT(),该函数容易与求和函数 SUM()混淆。 建立视图后,可在报表向导 “步骤 1-字段选取 ”界面的“数据库和表 ”中看到刚建立的视图文件,然后根据向导提示完成操作即可。 三、综合应用题( 3
15、0分) 3 【正确答案】 步骤 1:在命令窗口执行命令: MODIFY COMMAND four,打开程序文件编辑器。 步骤 2:在编 辑器中输入如下程序代码并保存程序文件 (以下程序是通过查询设计器生成 ): SELECT国家名称, COUNT(*)AS奖牌总数 FROM国家,获奖牌情况; GROUP BY国家国家代码; WHERE国家国家代码 =获奖牌情况国家代码; ORDER BY奖牌总数 DESC,国家名称; INTO DBF假奖牌榜 步骤 3:在命令窗口执行命令: MODIFY PROJECT sport_project,打开项目管理器。 步骤 4:在项目管理器的 “文档 ”选项卡中
16、,展开 “表单 ”项选中 sport form表单文件,然后单击项目管理器右边的 “修改 ”命令按钮,打开表单设计器。 步骤 5:双击 “生成表 ”命令按钮,编写按钮的 Click事件代码: DO four。 步骤 6:双击 “浏览报表 ”命令按钮,编写按钮的 Click事件代码: REPORT FORM spot_report PREVIEW。 步骤 7:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,并单击 “生成表 ”命令按钮生成数据表文件。 步骤 8:接着在项目管理器的 “文档 ”选项卡中,选中 “报表 ”项,然后单击项目管理器右边的 “添加 ”命令按钮,在弹出的 “添加 ”对话框
17、中双击 sport_repon frx报表,将报表 添加到项目管理器中。以同样的方法,在项目管理器的 “数据 ”选项卡中,将自由表 “国家 ”和 “获奖牌情况 ”添加到项目中。 步骤9:单击项目管理器右侧的 “连编 ”命令打开 “连编选项 ”对话框,在对话框中选中 “连编应用程序 ”,单击 “确定 ”按钮。在弹出的 “另存为 ”对话框的 “应用程序名 ”中输入; sport_app app,单击 “保存 ”按钮保存连编项目文件。如图 2-61所示。【试题解析】 本大题主要考查了程序文件的建立与运行; SQL分组计算查询;连编应用程序等。 本题关键是 SQL分组计算查询的设计,此处查询语句 与 “简单应用题 ”中 1小题的设计比较类似,大家可参考 “简单应用题 ”中的分析,此处不再多讲。 另外,用于预览报表的基本命令格式为: REPORT FORM报表文件名PREVIEW;连编应用程序可通过单击项目管理器右侧的 “连鳊 ”命令打开 “连编选项 ”对话框完成。