1、国家二级 VF机试(操作题)模拟试卷 46 及答案与解析 一、基本操作题 1 打开考生文件夹下的 SELLDB数据库,完成如下基本操作: (1)创建一个名为 “客户表 “的表,表结构如下: 客户号 C(4) 客户名 C(20) 销售金额 N(9,2) (2)为第 1小题创建的 “客户表 “建立一个主索引,索引名和索引表达式均为 “客户号“。 (3)为 “部门成本表 “增加一个字段,字段名为 “备注 “,数据类型为字符型,宽度为20。 (4)先选择 “客户表 “为当前表,然后使用设计器 中的快速报表功能为 “客户表 “创建一个文件名为 P_S的报表。快速报表建立操作过程均为默认。最后,给快速报表
2、增加一个标题,标题为 “客户表一览表 “。 二、简单应用题 2 考生文件夹下的 SELLDB数据库中包含 “部门表 “、 “销售表 “、 “部门成本表 “和 “商品代码表 “4个表。 (1)在考生文件夹下有一个名为 three.prg的程序文件,其功能如下: 查询 2006年各部门商品的年销售利润情况。查询内容为部门号、部门名、商品号、商品名和年销售利润,其中年销售利润等于销售表中一季度利润、二季度利润、三季度利润和四季度利 润的合计。查询结果按部门号升序排列,若部门号相同再按年销售利润降序排列,并将查询结果输出到表 TABA中。表 TABA的字段名分别为部门号、部门名、商品号、商品名和年销售
3、利润。 请打开程序文件 three.prg,修改其中的错误,然后运行该程序。 2使用 SQL语句查询 2005年度的各部门的部门号、部门名、一季度利润合计、二季度利润合计、三季度利润合计和四季度利润合计。查询结果按部门号升序排列,并存入表 account 中,最后将 SQL语句存入 four.prg中。 注意:表 account中的字段名依次为部门号、部门名 、一季度利润、二季度利润、三季度利润和四季度利润。 三、综合应用题 3 打开考生文件夹下的 SELLDB数据库,完成如下综合应用:创建一个标题名为 “部门销售查询 “、表单名为 Form1、文件名为 XS的表单,如下图所示。 表单要求如下
4、:向该表单中添加两个标签、两个文本框、一个表格和两个命令按钮。 (1)两个标签对象标题文本分别为 “部门号 “(Label1)和 “年度 “(Label2);两个文本框分别用于输入部门号 (Text1)和年度 (Text2);表格控件用于显示查询结果 (Grid1)。 (2)两个命令按钮的功能如 下: “查询 “按钮 (Command1)的功能是在该按钮的 Click事件中编写程序代码,根据输入的部门号和年度,在表格中显示该部门销售的 “商品号 “、 “商品名“、 “一季度利润 “、 “二季度利润 “、 “三季度利润 “和 “四季度利润 “,将查询结果存储到以 “xs部门号 “为名称的表中 (
5、例如,部门号为 02,则相应的表名为 xs02.dbf)。注意:表的字段名分别为: “商品号 “、 “商品名 “、 “一季度利润 “、 “二季度利润 “、 “三季度利润 “和 “四季度利润 “。 “退出 “按钮 (Command2)的功能是关闭并释放表单。注意:需将表格 控件的 RecordSourceType属性值设置为 “4 SQL说明 “。表单设计完成后,运行该表单,输入部门号: 02,年度: 2006,单击 “查询 “按钮进行查询。 国家二级 VF机试(操作题)模拟试卷 46 答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)选择 “显示 “菜单中的 “报表控件工具栏
6、“,打开 SELLDB数据库,右键单击数据库设计器空白处并选择 “新建表 “命令,在弹出的 “创建 “对话框中,选定考生文件夹,在 “输入表名 “中填入 “客户表 “,再单击保存,在弹出的 “表设计器 “中,按题目要求建立表结 构。 (2)打开 “客户表 “的表设计器选择 “索引 “标签,在索引名列中填入 “客户号 “,在索引类型列中选择 “主索引 “,在索引表达式列中填入 “客户号 “,单击 “确定 “按钮,保存表结构。 (3)打开 “部门成本表 “的表设计器,在 “字段 “选项卡中的字段名列的最下方输入 “备注 “,数据类型选择 “字符型 “,宽度设置为 “20“。 (4)步骤 1:选择
7、“客户表 “为当前表,然后通过 “新建 “对话框新建一个报表。 步骤 2:选择 “报表 “菜单中的 “快速报表 “命令,在打开的 “快速报表 “对话框中单击 “字段 “按钮,然后在 “字段选择器 “对话框中将所有字 段添加到 “选定字段 “框中,两次单击 “确定 “按钮回到 “报表设计器 “窗口。 步骤 3:选择 “报表 “菜单中的 “标题 /总结 “命令,在打开的 “标题 /总结 “对话框中选中“标题带区 “前面的复选框,为报表增加 “标题 “带区。 步骤 4:打开 “报表控件 “工具栏,选择其中的标签控件,在标题带区单击鼠标,输入 “客户表一览表 “。 步骤 5:最后将快速报表以文件名 “
8、P_S“保存在考生文件夹下。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤 1:打开考生文件夹下的 “three.prg“程序文件。 步骤 2:按照题目的要求修改程序文件中的错误如下。 错误 1: SELECT 部门表 .部门号 , 部门名 , 销售表 .商品号 , 商品名 ,一季度利润 + 二季度利润 + 三季度利润 + 四季度利润 to 年销售利润 ; 修改为: SELECT 部门表 .部门号 , 部门名 , 销售表 .商品号 , 商品名 ,一季度利润 + 二季度利润 + 三季度利润 + 四季度利润 as 年销售利润 ; 错误 2: ORDER BY 1, 5; 修改为: O
9、RDER BY 1, 5 DESC; 错误 3: TO TABLE TABA 修改为: INTO TABLE TABA (2)【操作步骤】 步骤 1:通过 “新建 “对话框新建一个程序文件。 步骤 2:按照题目的要求在其中编写如下命令语句。 *four.prg中的程序代码 * SELECT 部门表 .部门号 , 部门表 .部门名 ,; sum(销售表 .一季度利润 ) as 一季度利润 ,; sum(销售表 .二季度利润 ) as 二季度利润 ,; sum(销售表 .三季度利润 ) as 三季度利润 ,; sum(销售表 .四季度利润 ) as 四季度利润 ; FROM 部门表 ,销售表 ;
10、WHERE 部门表 .部门 号 = 销售表 .部门号 and 销售表 .年度 =“2005“; GROUP BY 部门表 .部门号 ; ORDER BY 部门表 .部门号 ; INTO TABLE account.dbf * 步骤 3:将程序保存为 “four“并运行。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤 1:打开考生文件夹下的 “SELLDB“数据库。 步骤 2:通过 “新建 “对话框新建一个表单。 步骤 3:按照题目的要求为表单添加控件,设置命令按钮 1的 Caption属性为 “查询“,命令按钮 2的 Caption属性为 “退出 “;标签 1的 Caption属性为
11、“部门号 “,标签 2的 Caption属性为 “年度 “;表格控件的 ColumnCount属性为 “6“, RecordSourceType属性为 “4-SQL语句 “。 步骤 4:右键单击表格空白处,执行 “编辑 “命令,分别设置表头( Header)的Caption为 “商品号 “、 “商品名 “、 “一季度利润 “、 “二季度利润 “、 “三季度利润 “、 “四季度利润 “。 步骤 5:设置 “查询 “按钮的 Click事件代码如下。 *“查询 “按 钮的 Click事件代码 * x=xs+ThisForm.TEXT1.Value SELECT 商品代码表 .*,销售表 .一季度利润
12、 ,销售表 .二季度利润 ,销售表 .三季度利润 , 销售表 .四季度利润 ; FROM 销售表 ,商品代码表 ; WHERE 商品代码表 .商品号 = 销售表 .商品号 ; AND 销售表 .部门号 =alltrim(ThisForm.Text1.Value) AND 销售表 .年度=alltrim(ThisForm.Text2.Value); INTO TABLE &X ThisForm.Grid1.RecordSource=“select * from “ + x * 设置 “退出 “按钮的 Click事件代码如下。 ThisForm.Release 步骤 6:以 XS为文件名对表单进行保存并运行。在 “部门号 “文本框中输入 “02“,在 “年度 “文本框中输入 “2006“,单击 “查询 “按钮查看表格中的显示结果,最后单击 “退出 “按钮结束表单的运行。 【试题解析】 按要求新建一个表单,修改属性和方法,写入命令按钮的代码。