1、国家二级 VF机试(操作题)模拟试卷 449及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.(1)打开“订货管理”数据库,并将表 order_list添加到该数据库中。(2)在“订货管理”数据库中建立表 customer,表结构描述如下:客户号 字符型(6)客户名 字符型(16)地址 字符型(20)电话 字符型(14)(3)为新建立的 customer表创建一个主索引,索引名和索引表达式均是“客户号”。(4)将表order_detail从数据库中移出,并永久删除。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.(1)将 cu
2、stomerl表中的全部记录追加到 customer表中,然后用 SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的 order list记录的 customer表中的记录),同时要求按“客户号”升序排序,并将结果存储到 results表中(表结构与 customer表结构相同)。(2)打开并按如下要求修改forml表单文件(最后保存所做的修改)。在“确定”命令按钮的 Click事件(过程)下的程序有两处错误,请改正。设置 Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.使用报表设计器建立
3、一个报表,具体要求如下:报表的内容(细节带区)是 order- list表的订单号、订购日期和总金额。增加数据分组,分组表达式是“order list客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。增加标题带区,标题是“订单分组汇总表(按客户)“,要求是三号字、黑体,括号是全角符号。增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 reportlfrx 文件。提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_国家二级 VF机试(操作题)模拟试卷 449答案解析(总分:6.00,做题时间:90 分钟)一
4、、基本操作题(总题数:1,分数:2.00)1.(1)打开“订货管理”数据库,并将表 order_list添加到该数据库中。(2)在“订货管理”数据库中建立表 customer,表结构描述如下:客户号 字符型(6)客户名 字符型(16)地址 字符型(20)电话 字符型(14)(3)为新建立的 customer表创建一个主索引,索引名和索引表达式均是“客户号”。(4)将表order_detail从数据库中移出,并永久删除。(分数:2.00)_正确答案:(正确答案:(1)命令窗口执行:MODIFY DATABASE 订货管理,打开数据库设计器。右击数据库设计器选择【添加表】,在“打开”对话框中双击
5、order list表添加到数据库中。 (2)右击数据库设计器,选择【新建表】,在“新建表”对话框中单击“新建表”按钮,在“创建”对话框的“输入表名”框输入“customer”,单击“保存”打开表设计器。 在表设计器中逐行输入每个字段的字段名,设置字段类型和宽度,单击“确定”按钮,系统询问“现在输入数据记录吗?”,单击“否”。 (3)右击数据库设计器中的 customer表,选择【修改】,打开 customer表设计器,在“字段”选项卡中选“客户号”,“索引”列中选“升序”,在“索引”选项卡中修改“索引类型”为主索引,建立“客户号”字段的主索引,单击“确定”按钮保存表结构修改。 (4)右击数据
6、库设计器中的 order_detail表,选择【删除】,在弹出的对话框中单击“删除”按钮永久删除。 使用数据库;索引。)解析:解析:本题考查数据库及表基本操作;建立索引。 向数据库中添加表在数据库设计器中完成。在表设计器的“字段”选项卡中可通过选择“排序”下拉框中的“升序”和“降序”为指定的字段建立一个索引名与索引表达式相同的普通索引,“索引”选项卡中可改变索引名或索引类型。二、简单应用题(总题数:1,分数:2.00)2.(1)将 customerl表中的全部记录追加到 customer表中,然后用 SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的 order list
7、记录的 customer表中的记录),同时要求按“客户号”升序排序,并将结果存储到 results表中(表结构与 customer表结构相同)。(2)打开并按如下要求修改forml表单文件(最后保存所做的修改)。在“确定”命令按钮的 Click事件(过程)下的程序有两处错误,请改正。设置 Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:命令窗口执行: SELECT*FROM customerl INTO ARRAY temp INSERT INTO customer FROM ARRAY temp 将 customerl
8、表中的记录全部复制到 customer表中。 步骤 2:在命令窗口执行命令: SELECT DISTINCT Customer*; DISTINCT 短语的功能是消除查询结果中相同的记录 FROM 订货管理!customer INNER JOIN 订货管理!order list; ON Customer客户号=Order list客户号; ORDER BY Customer客户号; INTO TABLE resultsdbf SQL 简单查询;查询的建立与使用。 (2)步骤 1:命令窗口执行: MODIFY FORM forml, 打开表单设计器修改表单。 步骤 2:“确定”按钮的 Click
9、事件中代码如下: 功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单 否则重新输入用户名和口令 *ERROR* IF THISFORMTEXTl=THI:SFORMTEXT2 WAIT“欢迎使用“WINDOW TIMEOUT 1 *ERROR* THISFORMCLOSE ELSE WAIT“用户名或口令不对,请重新输入“WINDOW TIMEOUT 1 ENDIF 修改后的代码如下: IF THISFORMTEXTlVALUE=THISFORM TEXT2VALUE 原代码语句中缺少指定 VALUE属性 WAIT“欢迎使用“WINDOW TIMEOUT 1 THISFORM*RE
10、LEASE 关闭表单的短语是 RELEASE而不是 CLOSE ELSE WAIT“用户名或口令不对,请重新输入“WINDOW TIMEOUT 1 ENDIF 步骤 3:修改文本框( TEXT2)控件 PasswordChar属性值为:*。 步骤 4:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 表单的事件、方法和属性;基本型控件。)解析:解析:(1)本题考查 SQL联接查询。Customer(客户表)和 Order_list(订单表)的联接条件为两个表中“客户号”相等的记录,表示在 Customer表中的客户在 Order_list表中有订购记录:由于一个客户可
11、能对应多条订购记录,需要使用 DISTINCT短语消除结果中重复的记录。 排序用 ORDER BY,降序为DESC,默认升序(ASC),将查询结果保存到表中使用 INTO TABLE短语。还可以通过查询设计器中生成 SQL代码。 (2)本题主要考查了表单属性及方法。文本框中显示的数据值可通过 Value属性获得,本题源程序中,第一处错误是缺少该属性。例如,“THISFORMTEXT1”只能表示表单中的一个控件。第二处错误是对表单常用方法的考查。用来释放和关闭表单的方法是 Release,而并非 Close。三、综合应用题(总题数:1,分数:2.00)3.使用报表设计器建立一个报表,具体要求如下
12、:报表的内容(细节带区)是 order- list表的订单号、订购日期和总金额。增加数据分组,分组表达式是“order list客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。增加标题带区,标题是“订单分组汇总表(按客户)“,要求是三号字、黑体,括号是全角符号。增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 reportlfrx 文件。提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_正确答案:(正确答案:步骤 1:命令窗口执行: CREATE REPORT REPORT1, 打开报表设计器。 步骤
13、 2:右击报表选择【数据环境】,在报表数据环境中单击右键选择【添加】,在“添加表或视图”对话框中双击 order list表,将表添加到报表数据环境中。 步骤 3:右击报表数据环境中的 order list表,选择【属性】,在报表属性面板中修改“Order”属性值为“客户号”,该操作是为了让记录能按“客户号”索引排序的数据。 步骤 4:从报表数据环境的 order_list表中,依次拖动“订单号”、“订购日期”和“总金额”字段到报表设计器的细节带区,再通过“报表控件”工具栏向报表的“页标头”中添加 3个名为“订单号”、“订购日期”和“总金额”的标签控件,调整标签与细节带区字段的位置。 步骤 5
14、:执行【报表】【数据分组】菜单命令,弹出“数据分组”对话框,单击“表达式”行的表达式生成器按钮,在其中的“字段”列表中双击“order_list客户号”字段,单击“确定”返回“数据分组”表达式,单击“确定”关闭对话框,可看到添加了“组标头”和“组注脚”两个带区。 步骤 6:调整组标头的显示区域(向下拖动“组标头”栏),将 order_list表中的“客户号”字段拖到该区域,并添加一个名为“客户号:”的标签控件。 步骤 7:调整组注脚的显示区域,通过“报表控件”工具栏向报表的“组注脚”添加一个域控件,系统弹出“报表表达式”对话框,单击“表达式”行的表达式生成器按钮,在“表达式生成器”对话框的“字
15、段”列表中双击“order_list总金额”字段,单击“确定”按钮返回“报表表达式”对话框;单击“格式”行中的表达式按钮弹出“格式”对话框,选中“数值型”选项,单击“确定”按钮返回“数据分组”表达式;在“报表表达式”对话框中单击“计算”按钮,在“计算字段”对话框中选中“总和”,单击“确定”按钮返回“数据分组”表达式,单击“确定”按钮关闭对话框,可看到“组注脚”区域增加了一个“总金额”域控件。为该字段添加名为“总金额:”的标签。 步骤 8:执行【报表】【标题总结】菜单命令,在“标题总结”对话框中分别勾选“标题带区”和“总结带区”复选框,单击“确定”按钮可看到报表设计器中添加了“标题”和“总结”带
16、区。 步骤 9:执行【报表】【默认字体】菜单命令,在“字体”对话框中选“字体”为“黑体”,“字号”为“三号”;接着再向报表的“标题”带区添加一个标签控件,输入标签标题为:订单分组汇总表(按客户);再按照“步骤7”的操作,为“总结”带区添加一个“总金额”的域控件和一个“总金额:”的标签。单击“常用”工具栏中的“预览”按钮可浏览报表设计效果。 创建分组报表。)解析:解析:本大题考查的是分组报表的设计。建立分组报表的关键包括以下几点: 在数据环境中要指定索引项便于记录分组,这是最关键的步骤,可以通过报表“属性”面板中的“Order“属性指定,注意指定前要先向数据环境中添加表。 指定索引项后,在“数据分组”对话框中设置“数据分组”表达式是:order_list客户号。 将表中字段按要求放到报表各个带区之后,再利用域控件计算总金额数值,注意本题有两个计算“总金额”的地方,一个是每组的总金额,另一个是全部记录的总金额,注意两个总金额所处的带区位置不要弄错;另外,设置域控件格式时,格式应为“数值型”,计算方式为“总和”,分别在“格式”对话框和“计算字段”对话框中进行设置。 最后,设置报表标签格式可以通过【报表】【默认字体】菜单命令打开“字体”对话框进行设置,注意,应先设置标签的字体格式,然后再向报表设计器中添加标签,该字体格式的设置对已存在的标签文字无效。