1、国家二级 VF 机试-试卷 153 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)将考生文件夹下的自由表“职工”添加到数据库“学校”中。 (2)对数据库下的表“职工”,使用视图向导建立视图“view1”,要求显示出表中全部记录的所有字段,并按“职称”排序(降序)。 (3)在“职工”表中插入一条记录(”北京大学”,”李源”,”助教”)。 (4)修改表单“bd1”,将其背景色改为“蓝色”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文
2、件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用查询设计器设计一个名称为 svg的查询,查询每个“女”同学的学号(来自 student 表)、姓名、课程名、成绩和任课教师(来自 teacher表的教师名),查询结果按学号升序排序并输出到表 one(查询去向)中。设计完成后,运行该查询。表 one中的字段分别为:学号、姓名、课程名、成绩、任课教师。 (2)在考生文件夹下,使用快捷菜单设计器设计一个名称为 smenu 的快捷菜单。要求如下: 菜单包括“数据浏览”和“退出”两个菜单项: “数据浏览”菜单包括“学生表”、“选课表”和“课程表”三个子菜单: 学生表子菜单在过程中使用 SQL
3、 语句“SELECTFROM student”查询学生表的记录。 选课表子菜单在过程中使用 SQL 语句“SELECT FROM SC”查询学生选课表的记录。 课程表选项在过程中使用 SQL 语句“SELECT*FROM course”查询课程表的记录。 “退出”菜单使用命令返回系统默认的菜单。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.使用报表设计器建立一个报表,具体要求如下: 报表的内容(细节带区)是 order_list 表的订单号、订购日期和总金额。 增加数据分组,分组表达式是“order_list客户号”,组标头带区的内容
4、是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。 增加标题带区,标题是“订单分组汇总表(按客户)”。要求是三号字、黑体,括号是全角符号。 增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1frx 文件。 提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_国家二级 VF 机试-试卷 153 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)将考生文件夹下的自由表“职工”添加到数据库“学校”中。 (2)对数据库下的表“职
5、工”,使用视图向导建立视图“view1”,要求显示出表中全部记录的所有字段,并按“职称”排序(降序)。 (3)在“职工”表中插入一条记录(”北京大学”,”李源”,”助教”)。 (4)修改表单“bd1”,将其背景色改为“蓝色”。(分数:2.00)_正确答案:(正确答案:选择【文件】【打开】命令,在“打开”对话框的“文件类型”下拉列表框中选择“数据库”,选择“学校dbc”,单击“确定”按钮,打开数据库设计器。 在“数据库设计器”中,单击右键选择“添加表”,在“打开”对话框中选择表“职工”,单击“确定”按钮将自南表“职工”添加到数据库“学校”中。 (2)选择【文件】【新建】命令,选择“视图”,进入“
6、本地视图向导”对话框。 在“本地视图向导”对话框中,选择“学校”数据库下的“职工”数据表,并把“可用字段”下的全部字段添加到“选定字段”列表框中。 连续单击“下一步”进入“排序记录”的设计界面,将“可用字段”列表框中的“职工职称”字段添加到右边的“选定字段”列表框中,并选择“降序”单选项。 连续单击“下一步”进入最后的“完成”设计界面,单击“完成”按钮保存视图为“view1”,退出视图设计向导。 (3)在命令窗口中输入命令:INSERT INTO 职工 VALUES(“北京大学“,“李源“,“助教“)(回车执行)。 (4)选择【文件】【打开】命令,在“打开”对话框的“文件类型”下拉列表框中选择
7、“表单”,选择“bd1scx”,单击“确定”按钮,打开表单设计器。 在表单设计器中,在表单属性窗口中修改“BackColor”属性值为“0,0,255”。 关闭表单设计器并保存表单。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下,打开学生数据库 sdb,完成如下简单应用: (1)使用查询设计器设计一个名称为 svg的查询,查询每个“女”同学的学号(来自 student 表)、姓名、课程名、成绩和任课教师(来自 teacher表的教师名),查询结果按学号升序排序并输出到表 one(查询去向)中。设计完成后,运行该查询。表 one
8、中的字段分别为:学号、姓名、课程名、成绩、任课教师。 (2)在考生文件夹下,使用快捷菜单设计器设计一个名称为 smenu 的快捷菜单。要求如下: 菜单包括“数据浏览”和“退出”两个菜单项: “数据浏览”菜单包括“学生表”、“选课表”和“课程表”三个子菜单: 学生表子菜单在过程中使用 SQL 语句“SELECTFROM student”查询学生表的记录。 选课表子菜单在过程中使用 SQL 语句“SELECT FROM SC”查询学生选课表的记录。 课程表选项在过程中使用 SQL 语句“SELECT*FROM course”查询课程表的记录。 “退出”菜单使用命令返回系统默认的菜单。(分数:2.0
9、0)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: OPEN DATABASE sdb ,打开数据库环境。 步骤 2:在命令窗口执行命令: CREATE QUERY svg ,打开查询设计器,在“添加表或视图”对话框中,分别双击 student 表、sc 表、course 表和 teacher 表,将表添加到查询设计器中,此时,添加的表会按照数据库中已存在的表间联系自动为 4 个表在查询设计器中建立联系。 步骤 3:根据题目要求,在“字段”选项卡的“可用字段”中,依次双击“student学号”、“student姓名”、“course课程名”、“sc成绩”,将它们添加到“选定字段”
10、列表中;然后在“函数和表达式”下的文本框中输入表达式:teacher教师名 as 任课教师,再单击“添加”按钮,将其添加到“选定字段”列表中。 步骤 4:在“筛选”选项卡内的“字段名”列中选择“student性别”,“条件”列选择“=”,“实例”列输入“女”。 步骤 5:在“排序依据”选项卡内双击“选定字段”列表框中的“student学号”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤 6:执行【查询】【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮。接着在“表名”中输入文件名 ONE,单击“确定”按钮。 步骤 7:最后单击“常用”工具栏中的“运行”
11、按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: CREATE MENU smenu ,在弹出的“新建菜单”对话框中单击“快捷菜单”图标按钮,打开快捷菜单设计器。 步骤 2:在菜单设计器“菜单名称”列的文本框中依次输入“数据浏览”和“退出”两个主菜单名,“数据浏览”菜单命令的“结果”下拉框中选择为“子菜单”,单击“创建”按钮进入下级菜单设计,在“菜单名称”列的第 1、2、3 行文本框中依次输入子菜单名“学生表”、“选课表”和“课程表”,将 3 个子菜单的“结果”都设置为“过程”,分别单击 3 个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤 3:三
12、个过程代码如下: “学生表”菜单命令的过程代码: SELECT*FROM student 。 “课程表”菜单命令的过程代码: SELECT *FROM course 。 “选课表”菜单命令的过程代码: SELECT *FROM sc 。 步骤 4:通过“菜单级”下拉框返回主菜单项设计界面,设置“退出”菜单项的“结果”列为“命令”,并输入命令语句: SET SYSMENU TO DEFAULT 步骤 5:执行【菜单】【生成】菜单命令,在弹出的 Visual FoxPro 对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(smenumpr)。)解析
13、:解析:(1)本题主要考查的是查询设计器的使用。该查询用到了 student、sc、course 和 teacher四张表,应按照 student 表、sc 表、course 表和 teacher 表的顺序将其添加到查询设计器,再根据题目要求从每个表中选取字段,设置查询条件等完成查询。 在查询设计器中输入计算表达式时,可直接在查询设计器“字段”选项卡的“函数和表达式”下的文本框中输入表达式,同时也可以通过打开“表达式生成器”对话框进行输入,要为输入的表达式指定一个新的字段名,可以通过 AS 短语指定。 (2)本题主要考查了快捷菜单的设计,快捷菜单与下拉菜单相比,缺少条形菜单,即快捷菜单仅包括一
14、个弹出式菜单,其他设计基本上都与下拉菜单的设计一致。操作过程中注意主菜单与子菜单的操作,从子菜单返回主菜单设计界面,可以使用菜单设计器右侧的“菜单级”下拉框,另外,编写“退出”菜单命令时,要熟记返回系统菜单的命令语句:SET SYSMENU TO DEFAULT;最后注意生成可执行菜单文件。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.使用报表设计器建立一个报表,具体要求如下: 报表的内容(细节带区)是 order_list 表的订单号、订购日期和总金额。 增加数据分组,分组表达式是“order_list客户号”,组标头带区的内容是“客户号”,组注
15、脚带区的内容是该组订单的“总金额”合计。 增加标题带区,标题是“订单分组汇总表(按客户)”。要求是三号字、黑体,括号是全角符号。 增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1frx 文件。 提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE REPORTREPORT1 ,打开报表设计器。 步骤 2:右击报表选择【数据环境】快捷菜单命令,继续在报表数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中双击 order_list 表,将表添
16、加到报表数据环境中。 步骤 3:右击报表数据环境中的 order_list 表,选择【属性】快捷菜单命令,在弹出的报表属性面板中修改“Order”属性值为“客户号”,该操作主要是为了在设计分组记录时候,记录能按“客户号”索引排序的数据。如图2-50 所示。 步骤 4:从报表数据环境的 order_list 表中,依次拖动“订单号”、“订购日期”和“总金额”字段到报表设计器的细节带区,再通过“报表控件”工具栏向报表的“页标头”中添加 3 个名为“订单号”、“订购日期”和“总金额”的标签控件,调整标签与细节带区字段的位置。如图 2-51 所示。 步骤 5:执行【报表】【数据分组】菜单命令,弹出“数
17、据分组”对话框,在对话框中单击“表达式”行的表达式生成器按钮,在弹出的“表达式生成器”对话框的“字段”列表中双击“order list客户号”字段,单击“确定”按钮返回“数据分组”表达式,继续单击“确定”按钮关闭对话框,可以看到报表设计器中添加了“组标头”和“组注脚”两个带区。如图 2-52 所示。 步骤 6:调整组标头的显示区域(向下拖动“组标头”栏),将 order list 表中的“客户号”字段拖到该区域,并添加一个名为“客户号:”的标签控件。 步骤 7:接着调整组注脚的显示区域,通过“报表控件”工具栏向报表的“组注脚”添加一个域控件,系统会先弹出一个“报表表达式”对话框,在对话框中单击
18、“表达式”行的表达式生成器按钮,在弹出的“表达式生成器”对话框的“字段”列表中双击“order_list总金额”字段,单击“确定”按钮返回“报表表达式”对话框;接着单击“格式”行中的表达式按钮弹出“格式”对话框,选中“数值型”选项,单击“确定”按钮返回“数据分组”表达式;继续在“报表表达式”对话框中单击“计算”按钮,在弹出的“计算字段”对话框中选中“总和”,单击“确定”按钮返回“数据分组”表达式,继续单击“确定”按钮关闭对话框,可以看到报表设计器的“组注脚”区域增加了一个“总金额”域控件。为该字段添加一个名为“总金额:”的标签。如图 2-53 所示。 步骤 8:执行【报表】【标题总结】菜单命令
19、,在弹出的“标题总结”对话框中分别勾选“标题带区”和“总结带区”复选框,单击“确定”按钮可以看到报表设计器中添加了“标题”和“总结”带区。 步骤 9:执行【报表】【默认字体】菜单命令,在弹出的“字体”对话框中选择“字体”为“黑体”,“字号”为“三号”;接着再向报表的“标题”带区添加一个标签控件,输入标签标题为:订单分组汇总表(按客户);再按照“步骤 7”的操作,为“总结”带区添加一个“总金额”的域控件和一个“总金额:”的标签。设计结果如图 2-54(a)所示。单击“常用”工具栏中的“预览”按钮可浏览报表设计效果,如图 254(b)所示。 )解析:解析:本大题考查的是分组报表的设计。建立分组报表
20、的关键包括以下几点: 在数据环境中要指定索引项便于记录分组,这也是最关键的步骤,否则报表中的分组记录将出错,该属性可以通过报表“属性”面板中的“Order”属性指定,注意指定前要先向数据环境中添加表。 指定索引项后,则可以进行分组报表设计,在“数据分组”对话框中设置“数据分组”表达式,本题的分组表达式是:order_list客户号。 将表中字段按要求放到报表各个带区之后,再利用域控件计算总金额数值,注意本题有两个计算“总金额”的地方,一个是每组的总金额,另一个是全部记录的总金额,注意两个总金额所处的带区位置不要弄错;另外,设置域控件格式时,格式应为“数值型”,计算方式为“总和”,分别在“格式”对话框和“计算字段”对话框中进行设置。 最后,设置报表标签格式可以通过【报表】【默认字体】菜单命令打开“字体”对话框进行设置,注意,应先设置标签的字体格式,然后再向报表设计器中添加标签,该字体格式的设置对已存在的标签文字无效。