1、二级 VISUAL+FOXPRO-81 及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:40.00)在下打开“TEST_DB”数据库,完成如下操作:(分数:40.00)(1).为表 SELL 建立一个主索引,索引名为 PK,索引表达式为“部门号+年度+月份”。 (分数:10.00)_(2).将自由表 DataTest、MODEL、TABC 和 PASS 添加到当前打开的数据库中。 (分数:10.00)_(3).在当前数据库中创建表 TEST(部门号,年份,销售额合计),其中,部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,
2、宽度为 8(其中小数位为两位)。 (分数:10.00)_(4).使用报表向导建立一个简单报表,要求选择表 SELL 中的所有字段(其他不做要求),报表文件名为two。 (分数:10.00)_二、B简单应用题/B(总题数:1,分数:20.00)在考生文件夹下完成如下简单应用:(分数:20.00)(1).打开“TEST_DB”数据库,根据表 DEPT 和表 SELL 并使用查询设计器设计一个名称为 three 的查询,按年度分部门(按年度和部门分组)统计月平均销售(通过销售额计算)、月平均工资(通过工资额计算)和月平均利润(通过“月平均销售-月平均工资”计算)。查询统计结果按部门号、年度升序排序,
3、并将查询结果输出到表 TABB 中。表 TABB 的字段名依次为部门号、部门名、年度、月平均销售、月平均工资、月平均利润。设计完成后,运行该查询。 (分数:10.00)_(2).打开文件名为“testA”的表单,该表单完成如下功能。 每当用户输入用户名和口令并按“确认”按钮后,利用表 PASS 中的记录检查其输入是否正确,若正确,显示“欢迎使用本系统!”字样,并关闭表单;若不正确,则显示“用户名或口令不对,请重新输入!”字样;如果 3 次输入不正确,就显示“用户名或口令不对,登录失败!”字样,并关闭表单。 修改口令输入文本框,使输入的口令显示为“*”。(分数:10.00)_三、B综合应用题/B
4、(总题数:1,分数:40.00)1.建立一个文件名和表单名均为 myform 的表单文件,表单上有表格控件 grid1 (RecordSourceType 属性手工设置为“别名”)、文本框控件 Text1、命令按钮控件 Command1(文本为“确定”),程序运行时在文本框中输入部门名,然后单击“确定”命令按钮计算该部门各年度的销售额(合计)和利润(合计)(利润为“销售额-工资额”),按年度升序将结果(含年度、销售额和利润 3 个字段)保存在以部门名命名的 DBF 文件的同时在 Grid1 控件中显示计算的结果。 要求:程序完成后必须运行,并分别计算“笔记本产品部”和“计算机产品部”按年度的销
5、售额和利润情况。(分数:40.00)_二级 VISUAL+FOXPRO-81 答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:40.00)在下打开“TEST_DB”数据库,完成如下操作:(分数:40.00)(1).为表 SELL 建立一个主索引,索引名为 PK,索引表达式为“部门号+年度+月份”。 (分数:10.00)_正确答案:(打开 TEST_DB 数据库,选中表 SELL,在表设计器中的索引页输入索引名为 PK,输入索引表达式为“部门号+年度+月份”,选择索引类型为“主索引”。答案考生文件夹)解析:(2).将自由表 DataTest、MODEL
6、、TABC 和 PASS 添加到当前打开的数据库中。 (分数:10.00)_正确答案:(在数据库设计器中按题目要求右击添加表。)解析:(3).在当前数据库中创建表 TEST(部门号,年份,销售额合计),其中,部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数位为两位)。 (分数:10.00)_正确答案:(在数据库中新建一个表 TEST,按题目要求输入字段。)解析:(4).使用报表向导建立一个简单报表,要求选择表 SELL 中的所有字段(其他不做要求),报表文件名为two。 (分数:10.00)_正确答案:(通过报表向导新建一个报表,在报表的“字段选取
7、”对话框中将 SELL 表中的全部字段添加到“选定字段”列表框中,其他各项均取默认值,直接单击“下一步”或“完成”按钮。最后将报表以 two为文件名进行保存。)解析:二、B简单应用题/B(总题数:1,分数:20.00)在考生文件夹下完成如下简单应用:(分数:20.00)(1).打开“TEST_DB”数据库,根据表 DEPT 和表 SELL 并使用查询设计器设计一个名称为 three 的查询,按年度分部门(按年度和部门分组)统计月平均销售(通过销售额计算)、月平均工资(通过工资额计算)和月平均利润(通过“月平均销售-月平均工资”计算)。查询统计结果按部门号、年度升序排序,并将查询结果输出到表 T
8、ABB 中。表 TABB 的字段名依次为部门号、部门名、年度、月平均销售、月平均工资、月平均利润。设计完成后,运行该查询。 (分数:10.00)_正确答案:(步骤 1:打开 TEST_DB 数据库,使用查询设计器建立查询。 步骤 2:将 DEPT 和 SELL 表添加到查询设计器中。 步骤 3:在查询设计器下方的“字段”选项卡中选中并添加字段“部门号”、“部门名”和“年度”,在“函数和表达式”的“表达式”中输入“AVG(Sell.销售额)AS 月平均销售”、“AVG(Sell.工资额)AS 月平均工资”和“AVG(Sell.销售额-Sell.工资额)AS 月平均利润”并添加这些表达式。 步骤
9、4:在“排序依据”选项卡中选择“Dept.部门号”和“Sell.年度”字段升序排列,在“分组依据”选项卡中选择“Sell.年度”和“Dept.部门号”字段分组。 步骤 5:选择菜单栏上的“查询”“查询去向”命令,在弹出的“查询去向”对话框中选择表,并在表名处输入表名 TABB。 步骤 6:单击工具栏上的“保存”按钮,输入查询文件名 three.qpr,保存查询后运行该查询。)解析:(2).打开文件名为“testA”的表单,该表单完成如下功能。 每当用户输入用户名和口令并按“确认”按钮后,利用表 PASS 中的记录检查其输入是否正确,若正确,显示“欢迎使用本系统!”字样,并关闭表单;若不正确,则
10、显示“用户名或口令不对,请重新输入!”字样;如果 3 次输入不正确,就显示“用户名或口令不对,登录失败!”字样,并关闭表单。 修改口令输入文本框,使输入的口令显示为“*”。(分数:10.00)_正确答案:(步骤 1:打开表单,修改 Text2 的 PasswordChar 属性赋值为“*”,使用户在输入口令时显示“*”。 步骤 2:修改该表单的“确认”按钮的 Click 事件中的程序。 第 3 行的错误修改为:Key2=ALLTRIM(ThisForm.text2.value) 第 4 行的错误修改为:LOCATE ALL FOR USER=Key1 第 12 行的错误修改为:THISFORM
11、.RELEASE)解析:三、B综合应用题/B(总题数:1,分数:40.00)1.建立一个文件名和表单名均为 myform 的表单文件,表单上有表格控件 grid1 (RecordSourceType 属性手工设置为“别名”)、文本框控件 Text1、命令按钮控件 Command1(文本为“确定”),程序运行时在文本框中输入部门名,然后单击“确定”命令按钮计算该部门各年度的销售额(合计)和利润(合计)(利润为“销售额-工资额”),按年度升序将结果(含年度、销售额和利润 3 个字段)保存在以部门名命名的 DBF 文件的同时在 Grid1 控件中显示计算的结果。 要求:程序完成后必须运行,并分别计算
12、“笔记本产品部”和“计算机产品部”按年度的销售额和利润情况。(分数:40.00)_正确答案:(步骤 1:通过“新建”对话框新建一个表单,文件名为 myform。 步骤 2:按题目要求为表单添加一个表格控件、一个文本框控件和一个命令按钮控件,设置表单的 Name 属性为 myform,表格控件的RowSourceType 属性为“1-别名”、RowSource 属性为 sell,命令按钮的 Caption 属性为“确定”。 步骤 3:在“确定”按钮的 Click 事件代码中输入下列代码。 *“确定”按钮的 Click 事件代码* x=“SELECT Sell.年度, SUM(Sell.销售额)AS 销售额, SUM(Sell.销售额-Sell.工资额)AS 利润“ x=x+“FROM test_db!sell WHERE 部门号 IN(SELECT 部门号 FROM dept.dbf WHERE 部门名=“+myform.text1.value+“)“ x=x+“GROUP BY Sell.年度“ x=x+“ORDER BY Sell.年度“ x=x+“INTO TABLE“+myform.text1.value &x myform.Grid1.recordsource=myform.text1.value * 步骤 4:保存后,按题目要求输入相应各部门名运行此表单。 )解析: