1、国家二级 VF机试(操作题)模拟试卷 109及答案与解析 一、基本操作题 1 在考生文件夹下已有 customers(客户 )、 orders(订单 )、 orderitems(订单项 )和goods(商品 )四个表。 (1)创建一个名为 “订单管理 ”的数据库,并将已有的 customers表添加到该数据库中。 (2)利用表设计器为 customers表建立一个普通索引,索引名为 bd,索引表达式为“出生日期 ”。 (3)在表设计器中为 customers表的 “性别 ”字段设置有效性规则,规则表达式为:性别 $“男女 “,出错提示信息是: “性别必须是男或女 ”。 (4)利用 INDEX命
2、令为 customers表建立一个普通索引,索引名为 khh,索引表达式为 “客户号 ”,索引存放在 customers cdx中。然后将该 INDEX命令存入命令文件 pone prg中。 二、简单应用题 2 (1)用 SQL语句完成下列操作:列出所有与 “红 ”颜色零件相关的信息 (供应商号,工程号和数量 ),并将检索结果按 “数量 ”降序排序存放于表 supply temp中。 (2)根据 “班级学生 ”库中的表用 SQL SELECI命令查 询学生的学号、姓名、课程号和成绩,结果按 “课程号 ”降序排序, “课程号 ”相同时按 “成绩 ”降序排序,并将查询结果存储到 cjb表中。 三、
3、综合应用题 3 设计一个表单名和文件名均为 currency form的表单,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题为: “外币市值情况 ”。表单中有两个文本框 (textl和 text2)和两个命令按钮: “查询 ”(commandl)与 “退出 ”(command2)。 运行表单时,在文本框 textl中输入某人的姓名,然后单击 “查询 ”,则 text2 中会显示 出他所持有的全部外币相当于人民币的价值数量。注意:某种外币相当于人民币数量的计算公式:人民币价值数量 =该种外币的 “现钞买入价 ”木该种外币 “持有数量 ”。 单击 “退出 ”按钮时关闭表单。 国家二级
4、VF机试(操作题)模拟试卷 109答案与解析 一、基本操作题 1 【正确答案】 (1) 命令窗口执行: MODIFY DATABASE订单管理,新建数据库并打开数据库设汁器。 在数据库设计器中右击,选择【添加表】,在 “打开 ”对话框中双击 customer。s表添加到数据库中。 (2)在数 据库设计器中右击 customers表,选择【修改】,打开表设计器, “字段 ”选项卡中选 “出生日期 ”, “索引 ”列中选择 “升序 ”, “索引 ”选项卡中,修改 “索引名 ”为“bd”。 (3)接上题,在 customers表设计器的 “字段 ”选项卡中选中 “性别 ”, “字段有效性 ”的 “规
5、则 ”文本框中输入:性别 $“男女 “,在 “信息 ”文本框中输入: ”性别必须是男或女 ”,单击 “确定 ”按钮保存表结构的修改。 (4) 命令窗口执行: MODIFY COMMAND pone,新建程序文件并打开程序编辑器。输入命令: INDEX ON客户号 TAG khh。 单击 “常用 ”工具栏中的 “运行 ”保存并运行程序。 【试题解析】 本题考查了数据库的建立和数据库设计器的使用;索引的建立;字段有效性规则的设置。 在表设计器中对字段建立有效性规则和设置默认值注意先选中需要建立有效性规则的字段。 在表设计器的 “字段 ”选项卡中,可以通过选择 “排序 ”下拉框中的 “排序 ”下拉框
6、中的 “升序 ”或 “降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引,在 “索引 ”选项卡中可修改索引名或索引类型。 也可以用命令建立索引,后缀名为 CDX的索引是复合索引,本题要求建立的customer cdx索引文件与 customers表同名,属于结构符合索引,建立结构符合索引的命令格式是: INDEX ON索引关键字 TAG索引名。 二、简单应用题 2 【正确答案】 (1)在命令窗口执行如下命令 (以下程序是通过查询设计器生成 )。(2)步骤 1:在命令窗口执行命令: MODIFY FILE mysql,打开文本编辑器编写 SQL命令。 步骤 2:在编辑器中输入如下程序代
7、码 (以下程序是通过查询设计器生成 )。步骤 3: 在命令窗口执行命令: DO mysql txt,执行文件 (注意:执行文件时,文件后缀名 txt不能缺省 )。 三、综合应用题 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE FORN CURRENCY_FORM,打开表单设计器新建表单。向表单添加两个文本框和两个命令按钮控件。 步骤 2:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 4-31。步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“查询 ”按钮的 Click事件代码 (以 下 SQL查询语句
8、是通过查询设计器生成 )* 1 NAME= ALLTRIM(THISFORM TEXTl VALUE) 2 OPEN DATABASE RATE 3 USE CURRENCY SL 4 LOCATE FOR姓名 =NAME 5 SUMM=0 6 DO WHILE NOT EOF() 7 SELECT 现钞买入价 EROM RATE EXCHANGE; 8 WHERE RATE EXCHANGE外币代码 =CURRENCY SL外币代码; 9 工 NTO ARE AY A 10 SUMM=SUMM+A1*CURRENCY SL 持有数量 11 CONTINUE 12 ENDDO 13 THISF
9、ORM TEXT2 VALUE=SUMM *“退出 ”按钮的 Click事件代码 * THISFORM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本大题考查了表单及控件的常用属性和方法的设置;程序的循环结构; SQL简单查询。 本题的重点是 “查询 ”按钮 click事件的编写。由于每个人可能持有多种外 币,故应该将某人持有的不同种外币对应的人民币用 SUM()函数求和。大致思想为:以currencv_sl表为当前表,用 locate for命令在该表中查找 “姓名 ”与 textl文本框中所输入姓名相同的记录,如果找到的话,就将 currency_sl表和 rate exchanqe表做连接查询,从而求出该记录对应外币的 “现钞买入价 ”,并将其存放到数组 a中,然后通过公式求出人民币价值数量之和。在这里,当使用 locate for命令查找时,使用了 do while循环和 continue命令,目的是在 currency_sl表中查出所有与textl文本框中所输入姓名相同的记录,然后进行计算。 注意: SQL查询条件表示式中字符串定界符要与指定表格数据源使用的字符定界符不同。