1、国家二级 VF机试(操作题)模拟试卷 306及答案与解析 一、基本操作题 1 (1)创建一个名为 “订单管理 ”的数据库,并将已有的 employee、 orders和 customer三个表添加到该数据库中。 (2)为 orders表建立一个普通索引,索引名为 nf,索引表达式为 “year(签订日期 )”。 (3)为 employee表建立主索引,为 orders建立普通索引,索引名和索引表达式均为 “职员号 ”。通过 “职员号 ”在 employee表和 orders表之间建立一个一对多的永久联系。 (4)为 上述建立的联系设置参照完整性约束:更新规则为 “限制 ”,删除规则为 “级联
2、”,插入规则为 “限制 ”。 二、简单应用题 2 (1)打开程序文件 progerr prg,按文件中给出的功能要求改正其中的错误,以文件名 prognewr prg重新保存该文件并运行程序。 (2)建立项层表单,表单文件名为 myform sex,表单控件名为 myform,表单标题为 “顶层表单 ”。为顶层表单建立菜单 mymenu。菜单栏如图 3-24所示 (无下拉菜单 ),单击 “退出 ”菜单时,关闭释放此顶层表单,并返回到系统菜单 (在过程中完成 )。 三、综合应用题 3 在考生文件夹下,先打开 “宾馆 ”数据库,然后创建一个文件名为 test的表单,如图 3 15所示。 该表单完成
3、如下综合应用: 在该表单中设计一个标签 (Labell)、一个文本框 (Textl)和两个命令按钮。 标签的标题文本为 “退房日期大于或等于 ”。文本框用于输入退房口期。两个命令按钮的功能如下: “查询 ”按钮 (Commandl):在该按钮的 click事件中使用 SQL的 SELEcT命令查询退房日期大于或等于输入日期的 “客户号 ”、 “身份证 ”、 “姓名 ”、 “工作单位 ”和该客户入住的 “客房号 ”、 “类型名 ”、 “价格信息 ”,查询结果按 “价格 ”降序排序,并将查询结果存储到表 tabd 中。表 tabd的字段为 “客户号 ”、 “身份证 ”、 “姓名 ”、 “工作单位
4、”、 “客房号 ”、 “类型名 ”和 “价格 ”。 “退出 ”按钮 (Command2)的功能是 “关闭和释放表单 ”。 表单设计完成后,运行该表单,查询退房口期大于或等于 2005-04-01的顾客信息。 国家二级 VF机试(操作题)模拟试卷 306答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1) 命令窗口执行: MODIFY DATABASE订单管 理创建数据厍并打开数据库设计器。 数据库设计器中右击,选择【添加表】,在 “打丌 ”对话框中双击 employee表添加到数据库中;以同样的方法,再将 orders和 customer表添加到数据库中。 (2) 在数据库设计器
5、中右击 orders表,选择【修改】,打开表设计器。 在表设计器的 “索引 ”选项卡的 “索引名 ”列输入 nf+“类型 ”设置为 “普通索引 ”,“表达式 ”中输入 “vear(签订日期 )”,单击 “确定 ”按钮保存表结构修改。 (3) 右击数据库设计器中的 employee表,选择 【修改】,打开表设计器, “字段 ”选项卡中选 “职员号 ”, “排序 ”列中选择 “,升序 ”,建立 “职工号 ”的普通索引,在“索引 ”选项卡中修改 “类型 ”为 “主索引 ”,单击 “确定 ”。 参照 employee表的操作为 orders表再建立 “职员号 ”,字段的普通索引。然后在数据库设计器中拖
6、动 emplovee表 “索引 ”下方的主索引 “职员号 ”到 orders表中 “索引 ”下方的普通索引 “职员号 ”上,为两个表建立联系。 (4) 选中两个表之间的关联线 (被选中的连线会变粗 ),首先执行【数据库】 【清理数据库】菜单命令,清空 数据表中带有删除标记的记录,然后执行【数据库】 【编辑参照完整性】菜单命令。 在打开的 “参照完整性 ”对话框的表格中,选择 “更新 ”下的单元格内容为 “限制 ”: “删除 ”下的单元格内容为 “级联 ”; “插入 ”下的单元格内容为 “限制 ”。单击 “确定 ”按钮保存参照完整性的修改。 二、简单应用题 2 【正确答案】 (1) 【操作步骤】
7、 步骤 1:命令窗口执行: MODIFY COMMAND Pogerr,打开 progerr程序文件,文件中的命令代码如下: 本题目需要在基本操作题的基础上完成。 本程序在表 orders dbf的基础上完成如下功能: (1)创建视图 viewes,视图内容为按职工号统计订单金额 (每个职工经手的订单总金额 ),统计结果包括:职工号、总金额; (2)从视图 viewes中查询订单总金额在 30000以上 (含 30000)的职工信息 (职工号,总金额 ),查询结果按总金额降序排序并存入表 newtable dbf。 OFEN DATABASE ORDERSMANAbE CREATE views
8、 AS; SELECT职工号, SUM(金额 )AS总金额; FROM ORDERS; GROUP BY职工号 SELECT * FROM 0RDERS: WHERE总金额 =30000; ORDER BY总金额 DESC; 修改程序中的错误行,修改后的程序如下: UPEN DATABSASE ORDERSMANGE CREATE vIEW views AS; 命令格式错误,建立视图命令要使用 CREATE VIEw SELECT职工号, SUM(金额 )AS总金额; FROM ORDERS; GROUP BY职工号 SELECT*FROM views;从视图 views中查找,不是从 ord
9、ers表查询,是第二处错误 WHERE总金额 =30000; ORDER BY总金额 DESC; INTO TABLE newtable将结果保存存表中 步骤 2:执行【文件】 【另存为】菜单命令,在弹出的 “另存为 ”对话框的 “保存文档为: ”文本框中输入新的文件名: prognew,单击 “保存 ”命令保存文件。 步骤 3:命令窗口执行: DO prognew-prg,执行程序。 【操作步骤】 步骤 1:命令窗口执行: CREATE MENu mymenu,在 “新建菜单 ”中单击 “菜单 ”按钮。在菜单设计器 “菜单名称 ”中依次输入 “文件 ”、 “编辑 ”和 “退出 ”3个主菜单名
10、。 步骤 2:选择 “退出 ”菜单命令的 “结果 ”项为 “过程 ”,单击 “过程 ”后面的 “创建 ”按钮打开过程编辑器,编写过程代码并输入命令语句: my form RELEASE。 步骤 3:执行【显示】 【常规选项】菜单命令,在 “常规选项 ”中勾选 “顶层表单 ”复选框,然后单击 “确定 ”保存修改。 步骤 4:执行【菜单】 【生成】菜单命令,在弹出的对话框中单击 “是 ”按钮,弹出 “生成菜单 ”对话框 ,单击 “生成 ”按钮生成 个可执行的菜单文件,关闭菜单设计器。 步骤 5:命令窗口执行: CREATE FORM myform,打开表单设计器。选中表单,在 “属性 ”窗口中修改
11、表单 (mytbrm)的属性值 . 步骤 6:编写表单的 Load事件代码如下: DO mynnenu,mpr WITH,THIS“TTT“ 步骤 7:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:命令窗口执行: CREATE FORM test,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加一个标签、一个文本框和两个命令按钮。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 4-18。步骤 3:双击命令按钮,编写各个命令按钮的 Cl
12、ick事件代码。各按钮代码如下: *“查询 ”按钮的 Click事件代码 *dd=Alltrim(Thi sForm Textl Vanle)SELECT 客户。客户号,身份证,客户姓名,客户工作单位,入住客房号,房价类型名,房价价格;FROM客 户 INNER JOlN入住; INNER JOIN客房; INNER JOIN房价; ON房价类型号 =客房类型号; ON客房客房号 =入住客房号; ON客户客户号=入住 .客户号; WHERE入住退房日期 =CTOD(dd); ORDER BY房价价格DESC; INTO TABLE tabd dbf*“退出 ”按钮的 Click事件代码*THISFORM RELEASE步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮,在文本框中输入日期: 2005-04-01,单击 “查询 ”按钮。最后将表单文件保存到 考生文件夹下。