1、国家二级 VF机试(操作题)模拟试卷 210及答案与解析 一、基本操作题 1 (1)从 student表查询所有性别为 “男 ”的学生信息,并按学号升序排序将查询结果存入 results表。 (2)利用表单向导生成一个表单,该表单含有 student表的 “学号 ”、 “班级 ”、 “姓名 ”和 “性别 ”4个字段,按 “学号 ”字段升序排序,其他设置采用默认值,并将表单保存为 student scx文件。 (3)建立一个命令文件 myprog prg,该命令文件只有一行语句,即执行前一小题生成的表单文件。 (4)为 student表增加一个 “年龄 ”字段,类型为数值型 (2)。 二、简单应
2、用题 2 在考生文件夹下,打开商品销售数据库 cdb,完成如下简单应用: (1)使用一对多报表向导建立名称为 p_order的报表。要求从父表顾客表 cust中选择所有字段,从子表订单表 order中选择所有字段;两表之间采用 “顾客号 ”字段连接;按 “顾客号 ”字段升序排序;报表样式为 “经营式 ”,方向为 “纵向 ”;报表标题为“顾客订单表 ”。然后修改该报表,在页注脚中增加一个标签 “制表人:新思路 ”;该标签水平居中,标签中的 “: ”为中文的冒号。 (2)修改一个名称为 TWO PRG的命令文件。该命令文件统计每个顾客购买商品的金额合计 (应付款 ),结果存储在临时表 1s中。然后
3、用 1s中的每个顾客的数据去修改表 scust对应的记录。该命令文件有 3行语句有错误,打开该命令文件进行修改。 注意:直接在错误处修改,不可改变 SQL语句的结构和短语的顺序,不允许增加、删除或合并行。修改完成后,运行该命令文件。 三、综合应用题 3 设计名为 form_book的表单 (控件名为 form1,文件名为 form book)。表单的标题设为 “图书情况统计 ”。表单中 有一个组合框 (名称为 Combo1)、一个文本框 (名称为Text1)和两个命令按钮 “统计 ”(名称为 Command1)和 “退出 ”(名称为 Command2)。如图 2 19所示。 运行表单时,组合框
4、中有三个条目 “清华 ”、 “北航 ”、 “科学 ”(只有三个出版社名称,不能输入新的 )可供选择,在组合框中选择出版社名称后,如果单击 “统计 ”命令按钮,则文本框显示出 “图书 ”表中该出版社图书的总数。 单击 “退出 ”按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。 国家二级 VF机试(操作题)模拟试卷 210答案与解析 一、 基本操作题 1 【正确答案】 (1)在命令窗口执行如下命令,完成查询并保存查询结果到 results表中。 SELECT * FROM student WHERE性别 =“男 “ ORDER BY学号 INTO TABLE results (2) 执行
5、【文件】 【新建】菜单命令,在弹出的 “新建 ”对话框中选中 “表单 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “表单向导 ”项,单击 “确定 ”按钮,启动表单向导。 在表单向导的 “步骤 1-字段选取 ”界面的 “数据库和表 ”下选中 “STUDENT”表,依次双击 “可用字段 ”中的 “学号 ”、 “班级 ”、 “姓名 ”和 “性别 ”字段全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 跳过 “步骤 2-选择表单样式 ”向导界面,继续单击 “下一步 ”按钮。 在表单向导的 “步骤 3-排序次序 ”界面中双击 “可用的字段和索引标识 ”的 “学号 ”
6、字段添加到 “选定字段 ”列表中,再单击 “升序 ”单选项,单击 “下一步 ”按钮。 在表单向导的 “步骤 4-完成 ”界面中单击 “完成 ”按钮,在 “另存为 ”对话框的 “保存表单为: ”框中输入 表单文件名 student,单击 “保存 ”按钮。 (3) 在命令窗口执行命令: MODIFY COMMAND myprog,打开程序文件编辑器。 在编辑器中输入程序代码: DO FORM student。 保存文件,在命令窗口执行命令: DO myprog prg,执行程序文件。 (4)关闭 student表,在命令窗口执行命令: ALTER TABLE studerlt ADD年龄N(2),
7、新增字段。 【试题解析】 本大题 考查了 SQL排序查询;表单向导的使用;表单的运行;数据表结构的修改。 使用 SQL排序查询时注意排序短语为 ORDER BY;利用表单向导建立表单也属于比较简单的操作,根据向导提示完成即可;而运行表单时,一定要正确使用调用表单的命令格式: DO FORM;为表新增字段的操作,可直接通过SQL命令完成,也可以在表设计器中进行。 二、简单应用题 2 【正确答案】 (1) 步骤 1:在命令窗口执行命令: OPEN DATABASE cdb,打开 cdb数据库。 步骤 2:执 行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建
8、 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 3:在报表向导的 “步骤 1-从父表选择字段 ”界面的 “数据库和表 ”下选中 cust表,将 “可用字段 ”中的字段全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 4:在报表向导的 “步骤 2-从子表选择字段 ”界面的 “数据库和表 ”下选中 order表,将 “可用字段 ”中的字段全部添加到 “选定字段 ”中,单击 “下一步 ”按钮。 步骤 5:在报表向导的 “步骤 3-为表建立关系 ”界面中系统自动建立两个
9、表的联系,单击 “下一步 ”按钮。 步骤 6:在报表向导的 “步骤 4-排序记录 ”界面中双击 “可用的字段或索引标识 ”中的 “顾客号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下步 ”按钮。 步骤 7:在报表向导的 “步骤 5-选择报表样式 ”界面的 “样式 ”下选中 “经营式 ”,方向为 “纵向 ”,单击 “下一步 ”按钮。 步骤 8:在报表向导的 “步骤 6-完成 ”界面中的 “报表标题 ”下方文本框中输入 “顾客订单表 ”,单击 “完成 ”按钮。 步骤 9:在 “另存为 ”对话框的 “保存报表为: ”框中输入表单文件名 p_order,单击“保存 ”按钮。 步骤 1
10、0:在命令窗口输入命令: MODIFY REPORT p_order,打开报表设计器修改报表。向报表设计器最底端的 “页注脚 ”带区添加一个标签控件,并输入 “制表人:新思路 ”,然后选中标签,在 “布局 ”工具栏中单击 “水平居中 ”命令按钮 (工具栏中的倒数第 4个按钮 ),设置标签为水平居中。 (2) 步骤 1:在命令窗口执行命令: MODIFY COMMAND TWO,打开程序文件,文件中的命令代码如下: 1 CLOSE DBF 2 PRIVATE no, money 3 USE scust 4 *下面的一行语句有错误 5 SELECT顾客号,数量 *单价应付款; 6 FROM ord
11、er JOIN Corftrn ON order商品号 =comm商品号; 7 GROUP BY顾客号; 8 INTO CURSOR ls 9 SELECT scust 10 *下面的一行语句有错误 11 DO WHILE EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号 =no 15 money=应付款 16 SELECT scust 17 +下面的一行语句有错误 18 REPLACE ALL应付款 =money 19 SKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN 修改程序中的错误行,修改后的程序如下: 1 CLOS
12、E DBF 2 PRIVATE no, money 3 USE scust 4 *下面的一行语句有错误 5 SELECT顾客号, sum(数量 *单价 )应付款; 6 FROM order JOIN COIItm ON order? 商品号 =comm商品号; 7 GROUP BY顾客号 ; 8 INTO CURSOR ls 9 SELECT scust 10 下面的一行语句有错误 11 DO WHILE!EOF() 12 no=顾客号 13 SELECT ls 14 LOCAT FOR顾客号 =no 15 money=应付款 16 SELECT scust 17 *下面的一行语句有错误 18
13、 REPLACE应付款 with money 19 SKIP+1 20 ENDDO 21 CLOSE TABLE 22 RETURN 步骤 2:保存文件修改,在命令窗口执行命令: DO TWO,执行程序文件。 【试题解析】 (1本题考查报表向导以及报表设计器的使用,在报表设计器中添加文字,可以通过 “报表控件 ”工具栏中的 “标签 ”控件进行添加。 (2)本题考查了 DO WHILE循环语句; SQL简单的计算查询; visual FoxPro修改表记录语句,程序的功能大致如下: 首先定义两个私有变量,然后通过 SQL语句计算每个顾客购买商品 的金额合计,将结果保存到一个临时表中;接着通过一个
14、 DO循环语句逐条判断 scust表中的记录,修改 scust表中顾客号与临时表 ls表中顾客号对应相等的 “应付款 ”字段值。 根据对程序语句的分析,可以得知: 第一处错误是 SQL计算语句错误,要求应付款应该是合计值,输出字段中还缺少 sum()函数进行合计。 第二处错误是 DO循环条件错误,循环条件应该是没有到记录末尾,因此应使用 !eof()。 第三处错误是修改记录的命令错误,应该使用 replacewith 命令。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: CREATE FORM form_book,打开表单设计器新建表单。从 “表单控件 ”工具栏中向表单添加一个组
15、合框、一个文本框及两个命令按钮控件。 步骤 2:选择表单对象,修改对象属性值,见表 3 22。步骤 3:编写各个命令按钮的Click事件代码如下: *“统计 ”按钮的 Click事件代码 * 1 SELECT COUNT(*)FROM BOOK WHERE出 版社=THISFORM COMB01 DISPLAYVALUE; 2 INTO ARRAY TEMP 3 THISFORM TEXT1 VALUE=TEMP(1) *“退出 ”按钮的 Click事件代码 * THISFORM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本大题考查了表单及控件的常用属性和方法的设置; SQL简单查询。 本题的关键是 “统计 ”命令按钮的 click事件的编写,这里求总数用 COunt()函数,组合框当前值用 value属性表示,将求出的总数存放到数组中,再将数组中的值赋给文本框的 value值 (即文本框中显示的内容 )。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1