1、国家二级 VF 机试(操作题)-试卷 277 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下的“订货管理”数据库中完成如下操作:(1)将 order_detail、order_list 和customer 表添加到数据库。 (2)为 order_list 表创建一个主索引,索引名和索引表达式均是“订单号”。(3)建立表 order_list 和表 order_detail 间的永久联系(通过“订单号”字段)。 (4)为以上建立的联系设置参照完整性约束:更新规则为“限制”,删除规则为“级联”,插入规则为“限制”。(分数:2.00)
2、_二、简单应用题(总题数:1,分数:2.00)2.(1)建立表单,如图 22 所示。表单文件名和表单控件名均为。formtest,表单标题为“考试系统”,表单背景为灰色(BackColor=192,192,192),其他要求如下: (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下创建一个顶层表单 myformsex(表单的标题为“考试”),然后创建并在表单中添加菜单(菜单的名称为 mymenumnx,菜单程序的名称为 mymenumpr)。效果如图 227 所示。 (分数:2.00)_国家二级 VF 机试(操作题)-试卷 277 答案解析(总分:6.00,做题
3、时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下的“订货管理”数据库中完成如下操作:(1)将 order_detail、order_list 和customer 表添加到数据库。 (2)为 order_list 表创建一个主索引,索引名和索引表达式均是“订单号”。(3)建立表 order_list 和表 order_detail 间的永久联系(通过“订单号”字段)。 (4)为以上建立的联系设置参照完整性约束:更新规则为“限制”,删除规则为“级联”,插入规则为“限制”。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABA
4、SE 订货管理 ,打开数据库设计器。 在数据库设计器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的“打开”对话框中双击order_detail 表,将表添加到数据库中,以同样的方法将 order_list 表和 customer 表添加到数据库中。(2)在数据库设计器中,右击 order_list 表,选择【修改】快捷菜单命令,打开 order_list 表设计器,在“字段”选项卡中选中“订单号”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“索引类型”为主索引,建立“订单号”字段的主索引,单击“确定”按钮保存表结构修改。 (3)在数据库设计器中,右击 order_detail 表
5、,选择【修改】快捷菜单命令,打开 order_detail 表设计器,在“字段”选项卡中选中“订单号”,在“索引”列中选择“升序”,建立“订单号”字段的普通索引,单击“确定”按钮保存表结构修改。 在数据库设计器中,拖动 order_list 表“索引”下方的主索引“订单号”到order_detail 表“索引”下方的普通索引“订单号”上,为两个表建立联系。 (4)选中 order_list 和order_detail 两个表之间的关联线(被选中的线会变粗),执行【数据库】【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。 在打开的“参照完整
6、性”对话框的表格中,选择“更新”下的单元格内容为“限制”;“删除”下的单元格内容为“级联”;“插入”下的单元格内容为“限制”。单击“确定”按钮保存参照完整性的修改。)解析:解析:本大题考查了数据库设计器的使用;索引的建立及永久联系的建立;参照完整性的设置。 为数据库表建立索引可以在表设计器中进行,在表设计器的“字段”选项卡中,可以通过选择“排序”下拉框中的“升序”或“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需要在“索引”选项卡中进行修改。 在建立参照完整性前要先建立两个表的关联,且有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立
7、普通索引,建立两个表联系后要先清理数据库,然后再设置参照完整性。二、简单应用题(总题数:1,分数:2.00)2.(1)建立表单,如图 22 所示。表单文件名和表单控件名均为。formtest,表单标题为“考试系统”,表单背景为灰色(BackColor=192,192,192),其他要求如下: (分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: CREATE FORM formtest ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个标签、一个计时器和一个命令按钮。 步骤 2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见
8、表 35。 步骤3:双击计时器(Timer1),编写该控件的 Timer 事件代码,代码如下: *计时器(Timerl)的 Timer 事件代码料* 1 IF THISFORMLABEL1LEFT+THISFORM LABEL1WIDTH=0 &如果标签的右边框与表单的左边框重合 2 THISFORMLABEL1LEFT=THISFORM WIDTH &标签左边距等于表单的宽度值,此时标签的左边框刚好与表单的右边框重合 3 ELSE 4 THISFORMLABELlLEFT=THISFORM LABEL1LEFT一 10 &标签的左边距减 10 5 ENDIF 步骤 4:双击“关闭”命令按钮,
9、编写命令按钮的 Click 事件代码:THISFORMRELEASE 。 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: OPEN DATABASE 学生管理 ,打开数据库环境。 步骤2:继续在命令窗口执行命令: CREATE VIEW ,打开视图设计器。在“添加表或视图”对话框中依次双击“课程”表和“考试成绩”表,将表添加到视图设计器中,添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。 步骤 3:在视图设计器中双击“课程”表中“课程编号”和“课程名”字
10、段,添加到“选定字段”中;然后在“字段”选项卡的“函数和表达式”下的文本框中输入表达式:COUNT(考试成绩学号)AS 选课人数,再单击“添加”按钮,将其添加到“选定字段”列表中。如图 316 所示。 )解析:解析:(1)本题考查的是表单的基本设计。除了掌握表单控件的常用属性、事件和方法之外,本题还需要掌握以下几个关键的知识点进行操作: 表单控件在表单中移动方向的控制,这主要通过控件的Left 属性控制,该属性表示控件的左边界在表单中的位置。Left 值越大,表示该控件离表单的左边界越远,因此,要控制控件在表单中向右移动,可以通过逐渐增加 Left 值来实现,反之,如果控件向左移动,可以通过逐
11、渐减小 Left 值来实现。注意:表单控件没有右边界属性。 由于控件没有右边界属性,因此控件在表单中的水平位置只能通过左边界定位,当控件的 Left 值为 0 时,控件的左边界与表单的左边界刚好重叠,当 Left 值等于表单宽度(width)时,与表单右边界重合,而本题要求控件从表单左边进入,即要求控件的右边界与表单左边界重合,因此,需要用 0 减去控件本身的宽度(width),此时控件右边界才刚好与表单左边界重合,标签的移动过程如图 315 所示。三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下创建一个顶层表单 myformsex(表单的标题为“考试”),然后创建并在表单中添加
12、菜单(菜单的名称为 mymenumnx,菜单程序的名称为 mymenumpr)。效果如图 227 所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE MENu mymenu ,在“新建菜单”中单击“菜单”图标按钮,打开菜单设计器。在“菜单名称”列的文本框中依次输入“统计( CREATE FORM MYFORM,打开表单设计器新建表单。修改表单(Forml)的“ShowWindow”属性值设置为“2作为顶层表单”:将Caption 属性设置为“考试”。 步骤 6:双击表单(Forml),分别编写表单的 L,oad 事件代码和 Destroy事件代码,代码如下
13、: *表单(Form1)的 Load 事件代码* DO mymenumpr WITH THIS,“xxx“ *表单(Form1)的 Destroy 事件代码* RELEASE MENU xxx EXTENDED 步骤 7:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。)解析:解析:本题主要考查了顶层表单的设计;菜单设计器的使用;SQL 分组与计算查询。 通过表单的ShowWindow 属性值可以设置为顶层表单,在表单的 Load(或 INIT)事件中调用菜单文件,通过 THIS 短语指定当前表单对象的引用。基本格式为:DOWITH_THIS,“;另在表单的 Destroy 事件中编写清除菜单的代码。 建立菜单文件时要勾选“常规选项”对话框中的“顶层表单”,另外,在菜单名称后加“