1、二级 VISUAL+FOXPRO机试-69 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.将自由表 rate_exchange 和 currency_ s1 添加到 rate 数据库中。(2)为表 rate_exchange 建立一个主索引,为表 currency_s1 建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。(3)为表 currency_s1 设定有效性规则: “持有数量0”,错误提示信息是“持有数量不能为 0”,默认值为“100”。(4)打开表单文件 test_form,该表单的界面如下图所示,请
2、修改“登录”命令按钮的有关属性,使其在运行时可使用。(考生文件夹下载)(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)用 SQL语句完成下列操作:列出“林诗因”持有的所有外币名称(取自 rate_exchange 表)和持有数量(取自 currency_s1表),并将检索结果按持有数量升序排序存放于表 rate_temp 中,同时将你所使用的SQL语句存放于新建的文本文件 rate. txt中。(2)使用一对多报表向导建立报表。要求:父表为 rate_exchange,子表为 currency_s1,从父表中选择字段“外币名称”
3、:从子表中选择全部字段;两个表通过“外币代码”建立联系;按“外币代码”降序排序;报表样式为“经营式”,方向为“横向”,报表标题为“外币持有情况”;生成的报表文件名为 currency_report。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.单击“关闭”按钮,关闭表单。(分数:30.00)_二级 VISUAL+FOXPRO机试-69 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.将自由表 rate_exchange 和 currency_ s1 添加到 rate 数据库中。(2)为表 rate_exch
4、ange 建立一个主索引,为表 currency_s1 建立一个普通索引(升序),两个索引的索引名和索引表达式均为“外币代码”。(3)为表 currency_s1 设定有效性规则: “持有数量0”,错误提示信息是“持有数量不能为 0”,默认值为“100”。(4)打开表单文件 test_form,该表单的界面如下图所示,请修改“登录”命令按钮的有关属性,使其在运行时可使用。(考生文件夹下载)(分数:30.00)_正确答案:(在命令窗口输入命令:MODIFY DATABASE rate,打开数据库。右击数据库,选择“添加表”快捷菜单命令,在弹出的“打开”对话框中,将考生文件夹下的 rate_exc
5、hange 和 currency_s1 两个自由表分别添加到数据库 rate中。(2)在数据库设计器中,右击 rate_exchange 数据表,选择“修改” 快捷菜单命令,打开表设计器,在“字段”选项卡中为“外币代码”字段选择一个索引排序,然后单击“索引”选项卡,在“索引”下拉框中选择索引类型为“主索引”。以同样的方法为 currency_s1 表的“外币代码”字段建立一个普通索引。(3)在数据库设计器中,右击 currency_s1数据表,选择“修改”快捷菜单命令,系统弹出表设计器,选中“持有数量”字段,在“字段有效性”区域内,输入“规则”文本框中的内容为“持有数量0”,在“信息”文本框内
6、输入“持有数量不能为 0“”,默认值为“100”。(4)在命令窗口输入命令:MODIFY FORM test_form,打开表单设计器,选中“登录”命令按钮,将Enabled 属性值改为“.T.”,如图 3-93所示。*图 3-93)解析:解析 本大题考查的主要是数据库和数据库表的一些基本操作,添加数据表是在数据库设计器中完成的,为数据表建立索引、设置字段有效性规则都是在数据表设计器中完成的,表单控件中,决定控件是否可用的一个重要属性为 Enabled。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)用 SQL语句完成下列操作:列出“林
7、诗因”持有的所有外币名称(取自 rate_exchange 表)和持有数量(取自 currency_s1表),并将检索结果按持有数量升序排序存放于表 rate_temp 中,同时将你所使用的SQL语句存放于新建的文本文件 rate. txt中。(2)使用一对多报表向导建立报表。要求:父表为 rate_exchange,子表为 currency_s1,从父表中选择字段“外币名称”:从子表中选择全部字段;两个表通过“外币代码”建立联系;按“外币代码”降序排序;报表样式为“经营式”,方向为“横向”,报表标题为“外币持有情况”;生成的报表文件名为 currency_report。(分数:40.00)_
8、正确答案:(1)在命令窗口输入命令:MODIFY COMMAND query,打开程序编辑器,编写如下程序段:*文件 query. prg中的程序段*SELECT rate_exchange.外币名称,currency_s1持有数量;FROM currency_s1 INNER JOIN rate_exchange;ON currency_s1.外币代码=rate_exchange.外币代码;WHERE currency_s1姓名=“林诗因”;ORDER BY currency_ sl持有数量;INTO TABLE rate_ temp. dbf*在命令窗口输入命令:DO query,执行程序
9、。(2)利用菜单命令“文件”“新建”,或从常用工具栏中单击新建按钮,在弹出的“新建”对话框中选择“报表”单选项,再单击“向导”按钮,系统弹出“向导选取”对话框,在列表框中选择“一对多报表向导”,单击“确定”按钮。选择“一对多报表向导”后,系统首先要求选择一对多报表中作为父表的数据表文件。根据题意,选择 rate_exchange 表作为父表,如图 3-94所示。从“可用字段”列表框中将“rate_exchange.外币名称”字段添加到右边的“选定字段”列表框中,用做父表的可用字段。*图 3-94单击“下一步”设计子表的可用字段,操作方法与父表选取字段的方法一样,将 currency_s1 表中
10、的所有字段添加到“选定字段”列表框中。单击“下一步”进入“建立表关联”的设计界面,在此处系统已经默认设置好进行关联的字段:父表的“外币代码”和子表的“外币代码”字段。单击“下一步”进入“选择排序方式”的设计界面,将“可用字段或索引标识”列表框中的“外币代码”字段添加到右边的“选定字段”列表框中,并选择“降序”单选项。单击“下一步”进入“选择报表样式”的界面,在“样式”列表框中选择“经营式”,在“方向”选项组中选择“横向”。单击“下一步”进入最后的“完成”设计界面,在“标题”文本框中输入“外币持有情况”为报表添加标题,单击“完成”命令按钮,在系统弹出的“另存为”对话框中,将报表以 currenc
11、y_ report 文件名保存在考生文件夹下,退出报表设计向导。)解析:解析 本大题 1小题考查的是 SQL多表联接查询,只需要注意每个表中字段的选取,以及每两个表之间进行关联的字段即可;2 小题主要考查报表向导的使用,只要根据每个向导界面的提示来完成相应的步骤即可。三、三 综合应用题(总题数:1,分数:30.00)3.单击“关闭”按钮,关闭表单。(分数:30.00)_正确答案:(单击“文件”菜单中的“新建”,在类型选择框中选择“表单”,单击“新建文件”按钮,打开表单设计器。在属性窗口中设置表单的 Caption 属性为“会员购买统计”,从“表单控件”工具栏中选择 1个组合框,1个标签,1 个
12、表格控件,2 个命令按钮放置在表单上。在属性面板中分别设置两个命令按钮的 Caption 属性分别为“查询”和“关闭”,设置标签的 Caption 属性值为“请选择会员”,组合框的RowSourceType 属性为“1-值”,RowSource 属性为“C1,C2,C3,C4,C5,C6,C7”,Style 属性为“2-下拉列表框”。结果如图 3-95所示。*图 3-95双击命令按钮“查询”,编写该控件的 Click 事件,程序代码如下:*命令按钮 Command1(查询)的 Click 事件代码*SELECT 会员信息.会员号,姓名,SUM(数量*单价)AS 总金额;FROM 会员信息,购买
13、信息;WHERE 会员信息.会员号=购买信息.会员号;AND 会员信息.会员号=Thisform. Combo1. value;GROUP BY 会员信息.会员号;INTO CURSOR tempThisform.Grid1.RecordSourceType=1Thisform.Grid1.RecordSource=“temp“*以同样的方法为“关闭”命令按钮编写 Click 事件代码:Thisform. Release。保存表单文件为 myf. scx 到考生文件夹下。运行表单,结果如图 3-96所示。*图 3-96)解析:解析 本大题主要考查的是表单中组合框的设置,该控件用来显示数据的重要属性是 RowsourceType和 RowSource,程序部分属于 SQL 的简单联接查询,在显示查询结果时,首先可用一个临时表保存查询结果,然后将表格控件中来显示数据的属性值设置为该临时表,用来显示查询结果。