1、国家二级 VF机试(操作题)模拟试卷 28 及答案与解析 一、基本操作题 1 考生文件夹下的自由表 employee中存放着职员的相关数据。 (1)利用表设计器为 employee表创建一个普通索引,索引表达式为 “姓名 “,索引名为 xm。 (2)打开考生文件夹下的表单文件 formone,然后设置表单的 Load事件,代码的功能是打开 employee表,并将索引 xm设置为当前索引。 (3)在表单 formone中添加一个列表框,并设置列表框的名称为 mylist,高度为60,可以多重选择。 (4)设置表单 formone中 mylist列表框的相关属性,其中 RowSourceType
2、属性为字段,使得当表单运行时,列表框内显示 employee表中姓名字段的值。 二、简单应用题 2 在考生文件夹下完成以下简单应用 (自由表 order中存放着订单的有关数据 ): (1)利用查询设计器创建查询,从 employee表和 order表中查询金额最高的 10笔订单。查询结果依次包含订单号、姓名、签订日期和金额 4个字段,各记录按金额降序排列,查询去向为表 tableone。最后将查询保存在 queryone.qpr文件中,并运行该查询。 (2)首先 创建数据库 order_m,并向其中添加 employee表和 order表。然后在数据库中创建视图 viewone:利用该视图只能
3、查询组别为 1的职员的相关数据;查询结果依次包含职员号、姓名、订单号、签订日期、金额 5个字段;各记录按职员号升序排列,若职员号相同则按金额降序排列。最后利用刚创建的视图查询视图中的全部信息,并将查询结果存放在表 tabletwo中。 三、综合应用题 3 在考生文件夹下完成下列操作: (1)创建一个名为 tablethree的自由表,其结构如下:姓名 C(6)最高金额 N(6,2)最低金 额 N(6,2)平均金额 N(6,2)(2)设计一个用于查询统计的表单 formtwo,其界面如下图所示。其中的表格名称为 Grid1, “查询统计 “按钮的名称为 Command1, “退出 “按钮的名称为
4、 Command2,文本框的名称为 Text1。 当在文本框中输入某职员的姓名并单击 “查询统计 “按钮,会在左边的表格内显示该职员所签订单的金额,并将其中的最高金额、最低金额和平均金额存入表 tablethree中。单击 “退出 “按钮将关闭表单。 (3)运行上面创建的表单 formtwo,然后依次查询统计 “赵小青 “和“吴伟军 “两 位职员所签订单的相关金额。执行完后,表 tablethree中应该包含两条相应的记录。 国家二级 VF机试(操作题)模拟试卷 28 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)打开 “employee“表的表设计器,单击 “索引 “选项
5、卡,在索引名处输入 “xm“,类型选择 “普通索引 “,表达式为 “姓名 “。 (2)打开表单文件 formone.scx,然后设置表单的 Load事件代码如下。 use employee.dbf set order to xm (3)选中控件工具栏里的 “列表框 “按钮,在表单设计器中拖动鼠标,这样在表单上得到一个 “列表框 “对象 List1,设置它的 Name属性为 “mylist“, Height 属性为 “60“,MultiSelect属性为 T.。 (4)在属性窗口设置 mylist列表框的 RowSourceType属性为 “6字段 “, RowSource属性为 “employ
6、ee.姓名 “。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:单击 “新建 “按钮,在弹出的对话框中选择 “新建查询 “,将 “employee“和“order “ 添加到查询设计器中 。 步骤 2:在查询设计器下方的 “字段 “选项卡中选中并添加题中要求的字段。 步骤 3:在 “排序依据 “选项卡中选择字段 “金额 “,按降序排列。 步骤 4:在 “杂项 “选项卡中选择记录个数为 10。 步骤 5:选中菜单栏上的 “查询 “ 查询去向 “,在弹出的 “查询去向 “对话框中选择表,并在表名处输入 tableone。 步骤 6:保存查询,输入查询文件名 queryone.qp
7、r,单击工具栏上的运行按钮后关闭查询设计器。 (2)【操作步骤】 步骤 1:选择文件 新建 数据库 新建文件命令,输入数据库名为 order_m对文件进行保存。 步骤 2:向新建的数据库中依次添加 “employee“和 “order“两个表。 步骤 3:新建一个视图,在 “添加表或视图 “对话框中添加 “employee“表和 “order“表到视图设计器中。 步骤 4:在 “字段 “选项卡中选择职员号、姓名、订单号、签订日期、金额 5个字段;切换到 “筛选 “选项卡,设置筛选条件为 “组别 =1“,切换到 “排序依据 “中选择字段 “职员号 “,在 “排序选项 “处选择 “升序 “,按 “
8、金额 “降序排序,保存视图为viewone。 步骤 5:新建一个查询,在 “添加表或视图 “对话框中选择 viewone视图,在字段中选择所有字段,设置查询去向为表 tabletwo,保存并运行该查询,文件名为默认。 【试题解析】 通过查询设计器完成查询、新建数据库、添加表在视图设计器中完成视图。 三、综合应用题 3 【正确答案】 (1)【操作步骤】 步骤 1:单击常用工具栏中的 “新建 “按钮,系统弹出 “新建 “ 对话框,在 “文件类型 “中选择表,在弹出的对话框中选择 “新建表 “,并在弹出 “创建 “对话框中选定考生文件夹,输入表名 “tablethree“后单击保存。 步骤 2:在弹
9、出的表设计器中按题目的要求依次输入各个字段的定义,单击 “确定 “按钮,保存表结构 (不用输入记录 )。 (2)【操作步骤】 步骤 1:单击常用工具栏中的 “新建按钮 “,系统弹出 “新建 “ 对话框,在 “文件类型 “中选择 “表单 “,在弹出的对话框中选择 “新建文件 “。 步骤 2:在表单中按题目的要求添加标签、文本框、命令按钮和表格控件,并进行适当的布局和大小调整。 步骤 3:根据题目要求设置各标签、文本框、命令按钮以及表格的属性值如下: 命令按钮 1的 Caption属性为 “查询统计 “。 命令按钮 2的 Caption属性为 “退出 “。 标签的 Caption属性为 “请输入姓
10、名 “。 表格的 RecordSourceType属性为 “4-SQL说明 “。 表格的 ColumnCount属性为 “2“。 header1的 caption属性为 “订单号 “。 header2的 caption属性为 “金额 “。 步骤 4:编写 “查询统计 “按钮的 Click事件代码。 *“查询统计 “按钮的 Click事件代码 * ThisForm.Grid1.RecordSource=“select order.订单号 ,order.金额 from order inner join employee on order.职员号 =employee.职员号 where employ
11、ee.姓名=alltrim(thisform.Text1.Value)“ SELECT Employee.姓名 , max(Order.金额 ) as 最高金额 , min(Order.金额 ) as 最低金额 , avg(Order.金额 ) as 平均金额 ; FROM employee INNER JOIN order ; ON Employee.职员号 = Order.职员号 ; where employee.姓名 =alltrim(thisform.Text1.Value); GROUP BY Employee.职员号 ; INTO cursor temp insert into tablethree(姓名 ,最高金额 ,最低金额 ,平均金额 ) values(temp.姓名 ,temp.最高金额 ,temp.最低金额 ,temp.平均金额 ) * 编写 “退出 “按钮的 Click事件代码如下。 ThisForm.Release 步骤 5:以 formtwo.scx 为文件名保存表单并运行,然后关闭表单设计 器窗口。 (3)【操作步骤】 运行表单 formtwo,依次查询统计 “赵小青 “和 “吴伟军 “两位职员所签订单的相关金额,即在 “请输入姓名 “下的文本框中分别输入题目要求的姓名,并单击 “查询统计 “按钮。将记录保存在表 tablethree中。