1、国家二级 VF机试(操作题)模拟试卷 7及答案与解析 一、基本操作题 1 (1)在考生文件夹下创建一个名为 “订单管理 “的数据库,将已有的 employee、orders和 customer三个表添加到该数据库中。 (2)为 orders表建立一个普通索引,索引名为 nf,索引表达式为 “year(签订日期 )“。 (3)为 employee表建立一个主索引,为 orders建立一个普通索引,索引名和索引表达式均为 “职员号 “。通过 “职员号 “为 employee表和 orders表建立一个一对多的永久联系。 (4)为上述建立的联 系设置参照完成性约束:更新规则为 “限制 “,删除规则为
2、 “级联“,插入规则为 “限制 “。 二、简单应用题 2 (1)在考生文件夹下存在表单文件 formone.scx,其中包含一个列表框、一个表格和一个命令按钮,如下图所示。 按要求完成相应的操作: 1)将 orders表添加到表单的数据环境中。 2)将列表框 List1设置成多选,并将其 RowSourceType属性值设置为 “8结构 “、 RowSource属性值设置为 orders。 3)将表格 Grid1的 RecordSourceType的属性值设置为 “4 SQL说明“。 4)修改 “显示 “按钮的 Click事件代码。使得当单击该按钮时,表格 Grid1内将显示在列表框中所选 o
3、rders表中指定字段的内容。 (2)利用查询设计器创建一个查询,要求从 orders、 employee和 customer表中查询 2001年 5月 1日以后 (含 )所签订单的所有信息。查询结果依次包含 “订单号 “、 “签订日期 “、 “金额 “、 “签订者 “和 “客户名 “5项内容,其中 “签订者 “为签订订单的职员姓名。各记录按签订日期降序排列,若签订日期相同按金额降序排序;查询去向为表 tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 三、综合应用题 3 在考生文件夹下创建一个顶层表单 myform.scx,表单的标题为 “考试 “,然后创建并在
4、表单中添加一个菜单,菜单的名称为 mymenu.mnx,菜单程序的名称为mymenu.mpr,如下图所示。 “统计 “和 “退出 “菜单命令的访问键分别是 “T“和 “R“,功能都通过执行 “过程 “完成。 “统计 “菜单命令的功能是以客户为单位从 customer表和 orders表中求出订单金额的和。统计结果有 “客户号 “、 “客户名 “和 “合计 “3项内容, “合计 “是指与某客户所签所有订单 金额的和。统计结果应按 “合计 “降序排列,并存放在 tabletwo表中。菜单命令 “退出 “的功能是关闭并释放表单。最后运行表单并依次执行其中的 “统计 “和 “退出 “菜单命令。 国家二
5、级 VF机试(操作题)模拟试卷 7答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)在命令窗口中输入命令 “Create Database 订单管理 “,按回车键建立数据库。单击工具栏中的 “打开 “按钮打开数据库 “订单管理 “,在打开的数据库设计器中右击,选择 “添加表 “命令,在 “打开 “对话框中将考生文件夹下的表 “employee“、 “orders“和“customer“添加到数据库中。 (2)在数据库设计器中右击表 orders,选择 “修改 “命令,在打开的表设计器中选择 “索引 “选项卡,类型选择 “普通索引 “,索引名为 “nf“,索引表达式为 “year
6、(签订日期 )“,单击 “确定 “按钮。 (3)按照 (2)中操作步骤分别为表 employee和 orders建立主索引和普通索引。在数据库设计器中,选中 employee表中的主索引 “职员号 “,按住鼠标拖动到 orders表的普通索引 “职员号 “上。 (4)在表 employee与 orders之间联系线 上右击,选择 “编辑参照完整性 “命令,打开 “参照完整性生成器 “对话框,选择更新规则为 “限制 “,删除规则为 “级联 “,插入规则为 “限制 “。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:单击工具栏中的 “打开 “按钮,打开考生文件夹下的表单 form
7、one,在表单的空白处单击右键,选择 “数据环境 “命令,将 Orders表添加到表单的数据环境中。 步骤 2:设置列表框的 MultiSelect属性为 “.T.-真 “,定义允许多重选择,RowSourceType属性值设置为 “8-结构 “、 RowSource属性设置为 “orders“;将表格Grid1的 RecordSourceType的属性值设置为 “4-SQL说明 “。 步骤 3:双击 “显示 “按钮,修改其 Click事件代码如下。 错误 1: FOR i=1 TO thisform.List1.ColumnCount 修改为: FOR i=1 TO thisform.Lis
8、t1.ListCount 错误 2: s=thisform.List1.value 修改为: s=thisform.List1.List(i) 错误 3: s=s+thisform.List1.value 修改为: s=s+“,“+thisform.List1.List(i) 步骤 4:保存并运行表单查看结果。 (2)【操作步骤】 步骤 1:单击常用工具栏中的 “新建 “按钮,新建查询,将表 “orders“、 “employee“和“customer“添加到查询中。 步骤 2:分别选择字段 orders.订单号、 orders.签订日期、 orders.金额、 customer.客户名, 添
9、加到可用字段中;然后在 “函数和表达式 “文本框中输入 “employee.姓名 AS 签订者 “,并添加到可用字段。 步骤 3:在 “筛选 “选项卡中设置筛选条件为 “orders.签订日期 =2001-05-01“。 步骤 4:在 “排序 “选项卡中指定排序选项为 “降序 “,添加字段 “orders.签订日期 “和“orders.金额 “。 步骤 5:选择系统菜单中的 “查询 “ 查询去向 “ 表 “命令,输入表名为“tableone“。 步骤 6:保存查询,输入查询名 “queryone“,在常用工具栏中单击运行按钮,运行该查询。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤
10、1:在命令窗口输入 Create form myform 新建表单。 步骤 2:将表单的 ShowWindow属性设置为 “2-作为顶层表单 “,然后设置其 Caption属性值为 “考试 “。 步骤 3:双击表单空白处,编写表单的 Init事件代码: DO mymenu.mpr WITH THIS, “myform“ 步骤 4:新建菜单,输入菜单名称 “统计 (T)“和 “退出 (R)“。 步骤 5:执行 “显示 “菜单下的 “常规选项 “命令,将此菜单 设置为 “顶层表单 “。 步骤 6:分别在 “统计 “和 “退出 “菜单的 “结果 “列中选择 “过程 “,并单击 “创建 “按钮,写入如下 SQL语句。 *“统计 “菜单中的命令语句 * SELECT Customer.客户号 , Customer.客户名 , sum(orders.金额 ) as 合计 ; FROM customer,orders ; WHERE Customer.客户号 = Orders.客户号 ; GROUP BY Customer.客户号 ; ORDER BY 3 DESC; INTO TABLE tabletwo.dbf * *“退出 “菜单中的命令语句 * Myform.Release * 步骤 7:单击工具栏中的 “保存 “按钮,保存菜单名为 mymenu,生成可执行程序。运行表单,查看结果。