1、国家二级 VF机试-试卷 108及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下的“雇员管理”数据库中完成如下操作: (1)为“雇员”表增加一个字段名为 EMAIL、类型为“字符型”、宽度为 20的字段。 (2)设置“雇员”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。 (3)在“雇员”表中,将所有记录的 EMAIL字段值使用“部门号”的字段值加上“雇员号”的字段值再加上“xxxxcomcn”进行替换。 (4)通过“部门号”字段建立“雇员”表和“部门”表间的永久联系。(
2、分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)列出总金额大于所有订购单总金额平均值的订购单(order list)清单(按客户号升序排列),并将结果存储到 results表中(表结构与 order list表结构相同)。 (2)利用 Visual FoxPro的“快速报表”功能建立一个满足如下要求的简单报表: 报表的内容是 order_detail表的记录(全部记录,横向)。 增加“标题带区”,然后在该带区中放置一个标签控件,该标签控件显示报表的标题“器件清单”。 将页注脚区默认显示的当前日期改为显示当前的时间。 最后将建立的报表
3、保存为 report1frx。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.考生文件夹下的 gnhtdbf 是一个合同管理表文件,其中部分字段的含义是:hth(合同号)、dhdw(订货单位)、ghdw(供货单位)、jhs1(订货数量)。 编写程序 progzhprg 分别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguodbf(在考生文件夹下已经存在)表文件中。 说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_国家二级 VF机试-试卷 108答案解析(总分:12.00,做题时间:90 分钟)一、基本
4、操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下的“雇员管理”数据库中完成如下操作: (1)为“雇员”表增加一个字段名为 EMAIL、类型为“字符型”、宽度为 20的字段。 (2)设置“雇员”表中“性别”字段的有效性规则,性别取“男”或“女”,默认值为“女”。 (3)在“雇员”表中,将所有记录的 EMAIL字段值使用“部门号”的字段值加上“雇员号”的字段值再加上“xxxxcomcn”进行替换。 (4)通过“部门号”字段建立“雇员”表和“部门”表间的永久联系。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DA
5、TABASE 雇员管理 ,打开“雇员管理”数据库设计器。 右击数据库设计器中的“雇员”表,选择【修改】快捷菜单命令,打开“雇员”表设计器,在表设计器“字段”选项卡的“字段名”列的最后一个空白文本框中输入字段名“emai1”,在“类型”下拉框中选择“字符型”,在“宽度”文本框中输入“20”,保存表结构修改。 (2)继续打开“雇员”表设计器,选中“字段”选项卡中的“性别”字段,然后在“字段有效性”的“规则”文本框中输入:性别$“男女“,在“默认值”文本框中输入:“女“。 (3)在命令窗口执行如下命令修改 email字段值: UPDATE 雇员 SET email=ALLTRIM(部门号)+ALLT
6、RIM(雇员号)+“xxxxcomcn“ (4)在数据库设计器中拖动“部门”表“索引”下方的主索引“部门号”到“雇员”表中“索引”下方的普通索引“部门号”上,为两个表建立联系。)解析:解析:本题考查了表结构的修改;字段有效性的设置;表之间联系的建立。 修改表结构可以在表设计器中完成,打开表设计的方法有多种,可在数据库设计器中打开,也可以直接通过命令打开;同样,设置字段有效性规则也需要在表设计器中完成;对于 SQL非常熟悉的考生,也可以直接通过 SQL语句完成以上操作。 利用 SQL UPDATE语句可以更新表中记录,本题可直接套用 SQL语句的固定语法完成记录的修改 对两个表建立联系是在数据库
7、设计器中进行操作的,本题的关键是要找出每两个表之间的相同字段,并分别设置主索引和普通索引,再进行联接,打开数据库设计器可以看到数据库中所包含的数据表及各数据表中的字段。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1)列出总金额大于所有订购单总金额平均值的订购单(order list)清单(按客户号升序排列),并将结果存储到 results表中(表结构与 order list表结构相同)。 (2)利用 Visual FoxPro的“快速报表”功能建立一个满足如下要求的简单报表: 报表的内容是 order_detail表的记录(全部记录,横向)。
8、增加“标题带区”,然后在该带区中放置一个标签控件,该标签控件显示报表的标题“器件清单”。 将页注脚区默认显示的当前日期改为显示当前的时间。 最后将建立的报表保存为 report1frx。(分数:2.00)_正确答案:(正确答案:(1)在命令窗口执行如下 SQL命令语句完成查询: select * from order_list; where总金额(select avg(总金额) from order_list); order by 客户号; into table results (2)步骤 1:在命令窗口执行命令: USE ORDER_DETAIL ,打开 order_detail表。 步骤
9、2:在命令窗口执行命令: CREATE REPORT REPORT1 ,打开报表设计器,然后执行【报表】【快速报表】菜单命令,在弹出的“快速报表”对话框中单击“确定”按钮,预览和保存报表设计。 步骤 3:执行【报表】【标题总结】菜单命令,在弹出的“标题总结”对话框中勾选“标题带区”,单击“确定”按钮,可以看到报表设计器中添加了“标题”带区。 步骤 4:通过“报表控件”工具栏向报表的“标题”带区添加一个标签控件,并输入标签标题:器件清单,并适当地调整标签的位置。 步骤 5:在“页注脚”带区中,双击“DATE()”域控件,在弹出的“报表表达式”对话框中的“表达式”框中将“DATE()”改为“TIM
10、E()”(如图 2-33所示),单击“确定”按钮,预览和保存报表修改。 )解析:解析:(1)本题主要考查了 SQL的嵌套查询。可以先在内查询中求出所有订单总金额的平均值,再在外查询中查找出总金额大于该平均值的订购单信息。 (2)本题主要考查了快速报表的建立。快速报表的建立需要在报表设计器中进行,在报表设计器中可以通过菜单命令启动建立快速报表的功能,建立快速报表应先指定报表的数据源。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.考生文件夹下的 gnhtdbf 是一个合同管理表文件,其中部分字段的含义是:hth(合同号)、dhdw(订货单位)、ghdw
11、(供货单位)、jhs1(订货数量)。 编写程序 progzhprg 分别统计订货单位数、供货单位数、订货总数,并将结果填写到 jieguodbf(在考生文件夹下已经存在)表文件中。 说明:以上命令文件必须执行,并产生所要求的结果。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND progzh ,打开程序文件编辑器。步骤 2:在程序文件编辑器中输入如下代码: SELECT COUNT(DISTINCT dhdw) FROM qnht INTO ARRAY arr UPDATE JIEGUO SET num=arr WHERE name=“订货
12、单位数“ SELECT COUNT(DISTINCT ghdw) FROM qnht INTO ARRAY arr UPDATE jieguo SET num=arr WHERE name=“供货单位数“ SELECT SUM(jhs1) FROM gnht INTO ARRAY arr UPDATE jiequo SET num=arr WHERE name=“订货总数“ 步骤 3:保存文件修改,在命令窗口执行命令: DO progzhprg ,执行程序文件。)解析:解析:本大题主要考查的是 SQL简单计算查询和数据更新功能。设计 SQL简单计算查询时,关键是要排除字段中重复的记录,利用 DISTINCT短语可以消除重复记录,查询的结果可以保存到数组中,然后再利用 SQL更新语句更新表中的记录,根据题目,在结果表中有 3条记录需要更新,因此,可以通过 3次计算和更新,分别更新表中的每条记录。