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