1、国家二级 VF机试(操作题)模拟试卷 121及答案与解析 一、基本操作题 1 (1)建立数据库 ordersmanage dbc。把自由表 employee dbf和 orders dbf添加到数据库中。 (2)打开表单 dh scx,设置标签控件中英文字母的字号为 18,保存表单。 (3)打开表单 dh scx,为命令按钮 “隐藏 ”添加代码,使表单运行时,单击此按钮隐藏表单上标签控件 labell;保存并运行该表单。 (4)利用报表向导建立一对多报表,以 employee表为父表,选择其中 “职工号 ”、“姓名 ”和 “性别 ”字段;以 order.s表为子表,选择其全部字段。报表样式为
2、“简报式 ”,表之间的关联通过 “职工号 ”字段实现,排序方式为按 “职工号 ”降序,报表标题为 “职工订单 ”。报表其他参数取默认值。最后将生成的报表保存为empord frx。 二、简单应用题 2 (1)student是一个 “学生 ”表,其中包含学号 (C 8)、姓名 (C 8)、性别 (C 2)、政治面目 (C 4)、班级 (C 5)等字段。考生文件夹下的 modil prg程序文件的功能是显示输出所有政治面目为 “群众 ”的 “男 ”生的姓名和班级, 每行输出一个学生的信息;程序中有三处错误,请加以改正。 说明:程序中 *ERROR FOUND*的下一行即为错误所在行。请用改正后的程
3、序行覆盖错误所在行,不要插入或删除任何程序行。 (2)建立命令文件 sprog prg,该命令文件包含如下两条语句: . 第一条语句使用 SQL UPDATE命令计算和更新 student表的年龄字段值 (计算年龄的表达式是 year(dat()-year(出生日期 )。 . 第二条语句使用 SQL SELECT命令查询各种 “政治面 目 ”的学生人数和平均年龄,并将结果存储于表 sqlresults(字段名是政治面目、人数和平均年龄 )。 说明:以上命令文件必须执行,并产生所要求的结果。 三、综合应用题 3 建立一个文件名和表单名均为 myform的表单文件,表单上有:表格控件gridl(R
4、ecordSourceType属性手工设置为 “别名 ”),文本框控件 Textl,命令按钮控件 Commandl(文本为 “确定 ”)。 程序运行时在文本框中输入 “部门名 ”,然后单击 “确定 ”命令按钮计算该部门各年度的 “销售额 ”(合计 )和 “利润 ”(合计 )(利润为 “销售额 -工资额 ”),按 “年度 ”升序将结果 (含 “年度 ”、 “销售额 ”和 P利润 ”3个字段 )保存在以 “部门名 ”命名的 dbf文件的同时,在 Gridl控件中显示计算的结果。如图 3-23所示。要求:程序完成后必须运行,并分别计算 “笔记本产品部 ”和 “计算机产品部 ”按年度的销售额和利润情况
5、。 国家二级 VF机试(操作题)模拟试卷 121答案与解析 一、基本操作题 1 【正确答案】 (1) 命令窗口执行 MODIFY DATABASE ordersmanage,打开数据库设计器。 在数据库 设计器中有击,选择【添加表】,在 “打开 ”对话框中双击 “employee”表添加到数据库中,同样的方法将 “orders”表添加到数据库中。 (2) 命令窗口执行: MODIFY FORM dh,打开表单设计器修改表单。 修改标签 (Labell)的 FontSize属性值为: 18,保存表单修改。 (3) 接是一小题,编写 “隐藏 ”命令按钮 Click事件代码如下: THISFORM
6、LABELl VISIBLE= F 保存表单修改,并运行表单查看修改结果。 (4) 命令窗口执行: OPEN DATABASE ordersmanage,打开 order smanage数据库环境。 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在“新建 ”中选 “报表 ”选项,单击 “向导 ”按钮,在 “向导选取 ”中选 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 “步骤 1-从父表选择字段 ”的 “数据库和表 ”中选 “employee”表,双击 “可用字段 ”中的 “职工号 ”、 “姓名 ”和 “性别 ”字段,添加到 “选定字段 ”中,单击
7、 “下一步 ”。 在 报表向导的 “步骤 2-从子表选择字段 ”界面的 “数据库和表 ”下选中 “orders”表,将 “可用字段 ”中的字段令部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 “步骤 3-为表建立关系 ”中系统自动建立两个表的联系,单击 “下一步 ”。 “步骤 4-排序记录 ”中双击 “可用的字段或索引标识 ”中的 “职工号 ”字段到 “选定字段 ”列表中,再单击 “降序 ”单选项,单击 “下一步 ”。 “步骤 5选择报表样式 ”选中 “样式 ”列表中的 “简报式 ”,单击 “下一步 ”。 “步骤 6一完成 ”中的 “报表标题 ”下方文本框中 输入 “职工订单 ”,单击
8、“完成 ”按钮。 在 “另存为 ”对话框的 “保存报表为: ”框中输入报表文件名 empord,单击 “保存 ”按钮。 【试题解析】 本题考查了数据库及表的基本操作;表单控件的常用属性和方法的设置;报表向导的使用。 本题关键是掌握表单控件基本属性的含义,设置标题字体大小的属性为FontSize,隐藏控件可设置 Visible属性。 二、简单应用题 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: MODIFY COMMAND modil,打开程序文件,文件中 的命令代码如下: 1 SET TALK OFF 2 USE StUdent 3 LOCATE FOR政治面目: ”群众 ” 4 *
9、error* DO WHILE NOT FOUND() S IF性别 =“男 “ 6 CONTINUE 7 *error* BREAK 8 ENDIF 9 ?姓名,班级 10 *error* SKIP 11 ENDDO 12 USE 13 SET TALK ON 修改程序中的错误行,修改后的程序如下: 1 SET TALK OFF 2 USE Student &打开 student表 3 LOCATE FOR政治面目 =“群众 “ &查找当前 记录的 “政治面目 ”为 “群众 ” 4 DO WHILE FOUND() &循环条件为找到 “政 治面目 “为 “群众 “的记录时进入循环 5 IF性
10、别 =“男 “ &如果性别为 “女 “,继续执 行下面的语句,否则执行 ENDIF语句之后的语句 6 CONT INUE &返回到循环体起始位置继 续重新判断下一条也录 “政治面目 ”值是否为 “群众 ” 7 LOOP &返回到循环体起始位置,即 DO WHILE处重新判断,不再执行后 面的语句 8 ENDIF &当 IF处条件不成立时,直接执行 该语句后面的命令 9 ?姓名,班级 &当前面的 IF条件语句不成立 时,执行该语句,显示当前记录的 “姓名 ”和 “班级 ”值 10 CONTINUE &返回到循环体起始位置继续重 新判断下一条记录 “政治而目 “值是否为 “群众 “ 11 ENDD
11、O &当 DO WHILE处条件不成立时,直接退 出循坏体,执行该语句后面的命令 12 USE &关闭当前打开的表 13 SET TALK ON 步骤 2:保存文件修改,在命令窗口执行命令: DO modil prg,执行程序文件。 (2)步骤 1:在命令窗口执行命令: MODIFY COMMAND sprog,打开程序文件编辑器。 步骤 2:在程序文件编辑器中输入如下代码 (相关 SQL查询语句是通过查询设计器生成 ): 1 UPDATE Student SET年龄 =YEAR(DATE() -YEAR(出生日期 ) 2 SELECT STUDENT政治面目, COUNT(STUDENT 学
12、号 )AS人数, AVG(STUDENT年龄 )AS平均年龄; 3 FROM Student; 4 GROUP BY Student政治面目; 5 INTO TABLE sqlresults dbf 步骤 3:保存文件修改,在命令窗口执行命令: Do sprog.prg,执行程序文件。 【试题解析】 (2)本题主要考查的是利用 Visual FoxPro命令查询 定位数据表中的记录。此类型的题主要通过一个 DO WHILE循环语句对表中的记录逐条比较,对满足条件的记录进行相关的操作。 本题中第一处错误是循环条件的错误,进入循环体的条件是逻辑值为真,第二处错误中属于命令短语错误, Visual
13、FoxPro中没有 BREAK命令,第三处错误是SKIP命令错误,该命令虽然可以将当前记录指针指向下一条记录,但不再执行LOCATE FOR处的条件判断,如果要包含判断功能,则要使用 CONTINUE短语。本题程段中各语句的功能可参考 “操作步骤 ”中对各条语句的注释说明,这里不再 细说。 (2)本题考查了 SQL数据更新功能和分组计算查询功能。本题数据更新语句可直接套用 SQL更新语句的命令格式;对数据进行分组计算查询时,用来计数的函数为COUNT(),用来求平均值的函数为 AVG(),通过 AS短语可以指定新的字段名,另外,对记录进行分组时,分组字段要设置正确,根据题意,本题的分组字段应为
14、 “学生 ”表中的 “政治面目 ”字段。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: CREATE FORM mvform,打开表单设计器新建表单。向表单添加一个文本框、一个表格和一个命令按钮控件 。 步骤 2:修改对象属性值,见表 4-29。步骤 3:双击 “确定 ”命令按钮 (Commandl)编写 Click事件代码。 *“确定 ”按钮的 C1ick事件代码* 1 BM=KLLTRIM(THISFORM TEXTl VALUE) 2 SELECT sell年度,suM(sell销售额 ) AS销售额,; 3 suM(Sell销售额 -Sell工资额 )AS利润; 4 FR
15、OM TEST DB!Dept INNER JOIN TEST_DB!Sell ; 5 ON Dept部门号 =sell 部门号; 6 WHERE Dept部门名 =BM; 7 GRouP BY sell年度; 8 ORDER BY sell年度; 9 INTO TABLE &BM 10 THISFORM GRID1 RECORDSOURCE=BM 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮运行表单,并生成 “笔记本产品部 ”和 “计算机产品部 ”两个表,将表单文件保存到考生文件夹下。 【试题解析】 本题考查了表单及控件的常用属性和方法的设置; SQL分组与计算查询。 由于本题限制了表格的数据源类型为 “1-别名 ”,因此 ,可以先将查询结果输出到表中,然后再通过表格的 Recordsource属性指定数据源,完成表格数据的显示。 本题关键是 SQL查询语句中怎样将文本框中显示的 “部门名 ”命名为表名,解决此问题的方法就是先定义一个变量等于文本框中的数据,然后使用宏替换函数 ( )将变量值替换出来,替换出来的数据都是当前文本框显示的值。 本题可利用 SUM()函数进行计算, GROUP BY分组, ORDERBY排序,表Dept表和 Sell表联接字段为 “部门号 ”。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1