国家二级VF机试(操作题)模拟试卷391(题后含答案及解析)

  • 格式:doc
  • 大小:29.50 KB
  • 文档页数:3

国家二级VF机试(操作题)模拟试卷391 (题后含答案及解析)

全部题型 2. 基本操作题 3. 简单应用题 4. 综合应用题

基本操作题

1. (1)打开“订单管理”数据库,然后从中删除customer。表。 (2)为employee表建立一个普通索引,索引名为xb,索引表达式为“性别”,升序索引。

(3)为employee表建立一个普通索引,索引名为xyz,索引表达式为“str(组别,1)+职务”,升序索引。 (4)为employee表建立主索引,为orders建立普通索引,索引名和索引表达式均为”职员号”。通过“职员号”在employee表和orders之间建立一个一对多的永久联系。

正确答案:【操作步骤】 (1)在命令窗口执行命令:MODIFY DATABASE

订单管理,打开数据库设计器。右击数据库设计器中的“customer”表,选择【删除】快捷菜单命令,在弹出的Visual.FoxPro对话框中单击“删除”按钮,将“customer”表永久性删除。 (2)接上小题操作,在数据库设计器中右击数据库设计器中的employee表,选择【修改】快捷菜单命令,打开employee表设计器,选中“索引”选项卡,在“索引名”下方的文本框中输入“xb”,在“索引”选项卡中将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入“性别”。 (3)接上小题操作,继续在表设计器的“索引”选项卡的第二行中,输入“索引名”为“xyz”,在“索引”选项卡中将“类型”选择为“普通索引”,在“表达式”下方的文本框中输入:STR(组别,1)+职务。 (4)①接上小题操作,继续在表设计器的“索引”选项卡的第三行中,输入“索引名”为“职员号”,在“索引”选项卡中将“类型”选择为“主索引”,在“表达式”下方的文本框中输入“职员号”,单击“确定”按钮保存表结构修改。 ②参照以上操作,为orders表建立一个“职员号”字段的普通索引。在数据库设计器中拖动employee表“索引”下方的主索引“职员号”到orders表中“索引”下方的普通索引“职员号”上,为两个表建立联系。

简单应用题

2. (1)在考生文件夹下已有表单文件formone.scx,如图2—35所示,其中包含两个标签、一个组合框和一个文本框。 请按下面要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,而该职员所签订单的平均金额能自动显示在文本框里。 ①将orders表和employee表依次添加到该表单的数据环境中(不要修改两个表对应对象的各属性值)。 ②将组合框设置成下拉列表框;将employee表中的“姓名”字段作为下拉列表框条目的数据源(RowSourlceType属性值应设置为:6-字段)。 ③将文本框Text1设置为只读。

④修改组合框的InteractiveChange事件代码,使得当用户从组合框选择职员时,能够将该职员所签订单的平均金额自动显示在文本框中。 (2)利用查询设计器创建查询,从employee和orders表中查询“组别”为“1”的组各职员所签所有订单的信息。查询结果依次包含“订单号”、 “金额”、“签订者”3项内容,

其中“签订者”为签订订单的职员姓名。各记录按“金额”降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。

正确答案:(1)【操作步骤】 步骤1:在命令窗口执行命令:MODIFY FORM

formone,打开表单设计器修改表单。 步骤2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中双击orders表和employee表,将表添加到数据环境中。 步骤3:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表3—37。 步骤4:双击表单中的组合框(Combo1),修改事件代码,组合框的原InteractiveChange事件代码如下: *下面代码的功能是读取所选职员的职员号,然后计算该职员所签订单的平均金额,并显示在丈本框内。 *修改所有***FOUND***下面的一条语句。 *不能修改其他语句,不能增加语句,也不能删除语句。 1 dime a(1,1) 2 a(1,1)=0

3 m1=employee.职员号 4 select avg(金额) from rders where 职员号=m1 into arrav a 5 m2=a(1,1) 6 *** found *** 7 text1.value=m2 修改程序中的错误行,修改后的程序如下: 1 dime a(1,1) 2

a(1,1)=0 3 m1=employee.职员号 4 select avq(金额) from orders

where 职员号=m1 into arrav a 5 m2=a(1,1) 6 *** FOUND ***

7 thisform.text1.value=m2 步骤5:单击“常用”:工具栏中的“运行”按钮查行结果,将表单文件保存到考生文件件下。 (2)【操作步骤】 步骤1:在命令窗口执行命令:OPEN DATABASE 订单管理,打开数据库环境。

步骤2:在命令窗口执行命令:CREATE QUERY quervone,打开查询设计器,在“添加表或视图”对话框中,分别双击employee表和orders表,将表添加到查询设计器中。 步骤3:添加两个表后,系统弹出“联接条件”对话框,自动查找两个表中相匹配的字段进行联接,单击“确定”按钮设置两个表的联系。

步骤4:依次双击orders表中的“订单号”和“金额”字段,添加到“字段”选项卡的“选定字段”列表中;然后在“字段”选项卡左下方的“函数和表达式”文本框中输入:Employee.姓名AS签订者,再单击“添加”按钮将表达式添加到“字段”选项卡的“选定字段”列表中。 步骤5:在“筛选”选项卡的“字段名”下拉列表中选择“Employee.组别”字段,在“条件”下拉框中选择“=”,在“实例”框中输入“1”。 步骤6:在“排序依据”选项卡内双出“选定字段”列表框中的“Orders.金额”字段,将字段添加到“排序条件”列表框中,在“排序选项”中选择“降序”单选项。 步骤7:执行【查询】→【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 tableone,单击“确定”按钮。 步骤8:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。

综合应用题

3. 在考生文件夹下创建一个下拉式菜单mymenu.mnx,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的“帮助”子菜单之前插入一个“考试”子菜单,如图2—36所示。 菜单命令“统计”和“返回”的功能都通过执行过程完成。 菜单命令“统计”的功能是以组为单位求订单金额的和。统计结果包含“组别”、“负责人”和“合计”3项内容,

其中“负责人”为该组组长(由employee中的“职务”一指定)的姓名,“合计”为陔组所有职员所签订单的金额总和。统计结果应按“合计”降序排序,并存放在tabletwo表中。 菜单命令“返回”的功能是返回标准的系统菜单。 菜单程序生成后,运行菜单程序并依次执行“统计”和“返回”菜单命令。

正确答案:【操作步骤】 步骤1:在命令窗口执行命令:CREATE MENU

mymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤2:在菜单设计器“菜单名称”列的文本框中输入“考试”,在“结果”下拉框中选择“菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第1、2行文本框中依次输入子菜单名“统计”、“返回”,将“统计”和“返回”子菜单的“结果”都设置为“过程”,单击“统计”子菜单行的“创建”命令按钮,打开过程编辑框编写过程代码。 步骤3:两个子菜单的命令代码如下: *****“统计”子菜单的过程代码***** 1 SEIJECT

Employee.组别,SUM(Orders.金额) AS 合计; 2 FROM 订单管理!employee INNER JOIN 订单管理! 0rders; 3 ON Emoloyee.职员号=orders.职员号; 4 GROUP BY Employee.组别; 5 TNTO CURSOR

RES 6 SELECT Res.组别,Employee.姓名 AS 负责人,Res.合计; 7

FROM Res,Employee; 8 WHERE Res.组别=Employee.组别; 9

AND Employee.职务=”组长”; 10 ORDER BY Res.合计 DESC; 11

TNTO TABLE tabletwo.dbf ****“返回”子菜单的命令代码***** SET

SYSMENU NOSAVE SET SYSMENU TO DEFAULT 步骤4:执行【显示】→【常规选项】菜单命令,在“位置”区域选中“在…之前”单选项,然后在该选项后面出现的下拉框中选择“帮助(H)”,则新建立的子菜单会在当前Visual

FoxPro系统菜单的“帮助”菜单命令前显示。 步骤5:执行【菜单】→【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个呵执行的菜单文件。 步骤6:在命令窗口执行命令:DO mymenu.mpr,运行菜单,并执行“统计”菜单命令。