1、国家二级 VF机试-试卷 113及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作: (1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2的输入掩码使其具有如下功能:仅允许输入数字、正负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3为只读控件,保存表单。 (4)为表单增加一组如图 1-30所示的选项按钮组(Optiongroup1),4 个按钮依
2、次为“+”、“-”、“*”、“”,保存表单。 注意:所涉及的数字和字母均为半角字符。 (分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders 表),并将结果按金额升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目前在 orders表中没有所签订单的职工(employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件 view_btxt 中。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应
3、用题()(分数:2.00)_6.在考生文件夹下,打开 selldb数据库,完成如下综合应用: 创建一个标题名为“部门销售查询”,表单名为 Form1,文件名为 XS的表单,如图 1-23所示。 (分数:2.00)_国家二级 VF机试-试卷 113答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下打开表单文件 calculatorscx,并完成下列操作: (1)设置表单控件名为calculator,保存表单。 (2)设置表单内文本控件 Text2的输入掩码使其具有如下功能:仅允许输入数字、正
4、负号和空格,宽度为 10(直接使用相关掩码字符设置),保存表单。 (3)设置表单内文本控件 Text3为只读控件,保存表单。 (4)为表单增加一组如图 1-30所示的选项按钮组(Optiongroup1),4 个按钮依次为“+”、“-”、“*”、“”,保存表单。 注意:所涉及的数字和字母均为半角字符。 (分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY FORM calCulator ,打开表单设计器修改表单。 在工具栏中,选中“属性”按钮,在“属性”面板的下拉框中选择表单对象 Form1,在“全部”选项卡中将 Name属性值设置为:calculator。 (2
5、)在“属性”面板的下拉框中选择文本控件 Text2,在“全部”选项卡中将 InputMask属性值设置为: “#”。 (3)在“属性”面板的下拉框中选择文本控件 Text3,在“全部”选项卡中将 ReadOnly属性值设置为:T。 (4)从“表单控件”工具栏中向表单添加一个选项按钮组(Optiongroup1)。 右击选项按钮组(Optiongroup1),在弹出的快捷菜单中选择【生成器】菜单命令,再在弹出的“选项组生成器”中选中“按钮”选项卡,将“按钮的数目”修改为“4”,并在下面表格的标题一列中,分四行分别输入半角的+、-、*、,最后再选中“布局”选项卡,将“按钮布局”修改为“水平”。如图
6、 2-58和图 2-59所示。 操作完成后,以原表单名保存表单。)解析:解析:本大题考查了表单属性的修改;表单控件的添加;控件属性的设置等。 表单的控件名指的是表单的内部名字,用 NAME属性设置,表示对表单对象的引用。文本框的输入掩码用 INPUTMASK属性设置,用来指定在一个文本框中该如何输入和显示数据。该属性值是一个字符串,该字符串通常由一些固定的模式符组成,每个模式符规定了相应位置上数据的输入和显示行为。如本题中,文本框中仅允许输入数字、正负号和空格,就应该将文本框的 INPUTMASK属性设置为模式符“#”,又因为宽度为 10,故设置 10个“#”。 文本框控件的 READONLY
7、属性用来指定文本框为只读的,不可修改。选项按钮组是一个容器控件,其中包括若干个选项按钮,可以分别设置各个选项的属性值,如本题中的+、-、*、分别是四个选项按钮的名称,应通过设置各选项按钮的 CAPTION属性值实现(注意:选项按钮细的属性和各选项按钮的属性是不一样的)。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders 表),并将结果按金额升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目前在 orders表中没有所签订单的职工(em
8、ployee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件 view_btxt 中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行如下 SQL命令语句并执行: SELECT 职工号,MAX(金额) 最高金额; FROM orders; GROUP BY 职工号; INTO CURSOR temp 步骤 2:在命令窗口继续执行如下 SQL命令语句: SELECT orders*; FROM orders,temp; WHERE orders职工号=temp职工号 AND orders金额=temp最高金额; ORDER BY 金额; INTO TABLE r
9、esults (2) 步骤 1:在命令窗口执行命令: OPEN DATABASEorders_manage ,打开数据库环境。 步骤 2:在命令窗口执行命令: MODIFY FILE view_b ,打开文本文件编辑器编写视图定义代码。 步骤 3:在编辑器中输入如下程序代码: CREATE VIEW view_b AS; SELECT * FROM EMPLOYEE; WHERE 职工号 NOT IN; (SELECT 职工号 FROM ORDERS); ORDER BY 仓库号 DESC 步骤 4:在命令窗口执行命令: DO VIEW_BTXT ,执行文件(注意:执行文件时,文件后缀名txt
10、 不能缺省)。)解析:解析:(1)本题考查了 SQL分组查询和联接查询。本题的解题思路是:先在 orders表中按职工号分组,查询出每个职工所经手的具有最高金额的订单所对应的职工号和金额,将它保存到临时表中,然后再将 orders表和该临时表做联接查询,查找出每个职工的最高金额订单所对应的 orders表信息。另外,对数据进行分组计算查询时,用来求最大值的函数为 MAX()。 (2)本题主要考查了利用 SQL命令建立视图;SQL嵌套查询。 利用 SQL命令建立视图的基本命令格式为:CREATEVIEW视图名ASSELECT 语句。本题可以用嵌套查询完成,先在内查询中从 orders表查找出有订
11、单的职工号,再在外查询中从 employee表中找出 orders表中没有的职工号,这里用到 NOT IN运算符。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.在考生文件夹下,打开 selldb数据库,完成如下综合应用: 创建一个标题名为“部门销售查询”,表单名为 Form1,文件名为 XS的表单,如图 1-23所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORN xs ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加两个标签、两个文本框、一个表格控件和两个命令按钮。 步骤2:在“属
12、性”面板的下拉框中选择表单对象,在 “全部”选项卡中修改对象属性值,见表 2-26。 )解析:解析:本大题主要考查了表单及控件的常用属性和方法的设置;SQL 联接查询。本题的关键是程序代码的设计,其编程思想大致如下: 首先定义两个变量分别等于两个文本框中的数据,然后再定义一个变量,变量值等于字符串“bmh”加上年份文本框中的数据,该变量主要用于指定保存表记录的表名。 接着是将表格的数据源设置为一段 SQL语句,该 SQL查询语句基本功能如下: 通过联接查询“商品代码表”和“销售表”的记录,输出题目所要求的各个字段,两个表的联接字段为“商品号”;建立两个表联接后,开始设置查询的筛选条件,根据题意,共有两个筛选条件,将这两个条件通过 AND短语联接放到 WHERE短语后;最后是将结果输出到指定的数据表中,此时需要使用宏替换函数(&)将前面所定义的表名变量中的内容替换出来。