1、国家二级 VF机试-试卷 161及答案解析(总分:14.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)打开数据库“外汇”,通过“外币代码”字段为“外汇代码”和“外汇账户”建立永久联系。 (2)新建一个名为“外汇管理”的项目文件,将数据库“外汇”加入“外汇管理”项目中。 (3)修改 mymenu菜单文件,为“文件”下的子菜单项“查找”设置访问键 F。 (4)修改 oneprg 中的 SQL语句,使之正确(该语句的功能是从 rate表中删除币种 1代码为 14,并且币种 2代码为 27的记录)。(分数:2.00)_二、简单应
2、用题(总题数:3,分数:6.00)3.简单应用题()(分数:2.00)_4.(1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders 表),并将结果按金额升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目前在 orders表中没有所签订单的职工(employee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件 view_btxt 中。(分数:2.00)_5.(1)请修改并执行名称为 form1的表单,要求如下: 为表单建立数据环境,并将“雇员”表添加到数据环境中。 将表单标题修改为“XXX 公司雇员信息维护”。 修改命令
3、按钮“刷新日期”的 Click事件下的语句,使用 SQL的更新命令。将“雇员”表中“日期”字段值更换成当前计算机的日期值。注意:只能在原语句上进行修改,不可以增加语句行。 (2)建立一个名称为 menu1的菜单,菜单栏有“文件”和“编辑浏览”两个菜单。“文件”菜单下有“打开”、“关闭退出”两个子菜单;“编辑浏览”菜单下有“雇员编辑”、“部门编辑”和“雇员浏览”三个子菜单。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)6.综合应用题()(分数:2.00)_7.设计一个名为“mysupply”的表单,表单的控件名和文件名均为“mysupply”。表单的形式如图 1051所示。 (
4、分数:2.00)_国家二级 VF机试-试卷 161答案解析(总分:14.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)打开数据库“外汇”,通过“外币代码”字段为“外汇代码”和“外汇账户”建立永久联系。 (2)新建一个名为“外汇管理”的项目文件,将数据库“外汇”加入“外汇管理”项目中。 (3)修改 mymenu菜单文件,为“文件”下的子菜单项“查找”设置访问键 F。 (4)修改 oneprg 中的 SQL语句,使之正确(该语句的功能是从 rate表中删除币种 1代码为 14,并且币种 2代码为 27的记录)。(分数:
5、2.00)_正确答案:(正确答案:(1)在命令窗口执行命令: MODIFY DATABASE 外汇 ,打开数据库设计器。 在数据库设计器中,右击“外汇代码”表,选择【修改】快捷菜单命令,打开“外汇代码”表设计器,在“字段”选项卡中选中“外币代码”,在“索引”列中选择“升序”,然后在“索引”选项卡中修改“类型”为“主索引”,单击“确定”按钮保存表结构修改。 在数据库设计器中,右击“外汇账户”表,选择【修改】快捷菜单命令,打开“外汇账户”表设计器,选中“字段”选项卡中的“外币代码”,在“索引”列中选择“升序”,单击“确定”按钮保存表结构修改。 拖动“外汇代码”表“索引”下方的主索引“外币代码”到“
6、外汇账户”表中“索引”下方的普通索引“外币代码”上,为两个表建立联系。(2)在命令窗口执行命令: CREATE PROJECT 外汇管理 ,新建一个项目管理器。 在项目管理器中,选中“数据”选项卡内的“数据库”项,然后单击“添加”按钮,在弹出的“打开”对话框中双击“外汇”数据库文件,将数据库添加到项目管理器中。如图 2-45所示。 )解析:解析:本大题考查了项目管理器的建立及使用、永久联系的建立、菜单设计器的使用和 SQL查询语句。 建立两个表的永久联系时,有一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引。本题中,应先以“外币代码”为关联字段在“外汇代码”表中建立主索引
7、,在“外汇账户”表中建立普通索引,然后再建立联系。 在菜单设计器中,为菜单项设置访问键的方法是在要作为访问键的字符前加“”两个字符。注意:在对菜单进行修改后要保存并生成菜单程序文件。 SOL 语句中删除记录的命令是 delete from,删除条件应该用 where短语。二、简单应用题(总题数:3,分数:6.00)3.简单应用题()(分数:2.00)_解析:4.(1)使用 SQL语句查询每个职工所经手的具有最高金额的订购单信息(orders 表),并将结果按金额升序存储到表 results中。 (2)使用 SQL命令建立视图 view_b,视图中是目前在 orders表中没有所签订单的职工(e
8、mployee)信息,记录按仓库号降序排列;同时把所用命令保存在文本文件 view_btxt 中。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行如下 SQL命令语句并执行: SELECT 职工号,MAX(金额) 最高金额; FROM orders; GROUP BY 职工号; INTO CURSOR temp 步骤 2:在命令窗口继续执行如下 SQL命令语句: SELECT orders*; FROM orders,temp; WHERE orders职工号=temp职工号 AND orders金额=temp最高金额; ORDER BY 金额; INTO TABLE
9、results (2) 步骤 1:在命令窗口执行命令: OPEN DATABASEorders_manage ,打开数据库环境。 步骤 2:在命令窗口执行命令: MODIFY FILE view_b ,打开文本文件编辑器编写视图定义代码。 步骤 3:在编辑器中输入如下程序代码: CREATE VIEW view_b AS; SELECT * FROM EMPLOYEE; WHERE 职工号 NOT IN; (SELECT 职工号 FROM ORDERS); ORDER BY 仓库号 DESC 步骤 4:在命令窗口执行命令: DO VIEW_BTXT ,执行文件(注意:执行文件时,文件后缀名tx
10、t 不能缺省)。)解析:解析:(1)本题考查了 SQL分组查询和联接查询。本题的解题思路是:先在 orders表中按职工号分组,查询出每个职工所经手的具有最高金额的订单所对应的职工号和金额,将它保存到临时表中,然后再将 orders表和该临时表做联接查询,查找出每个职工的最高金额订单所对应的 orders表信息。另外,对数据进行分组计算查询时,用来求最大值的函数为 MAX()。 (2)本题主要考查了利用 SQL命令建立视图;SQL嵌套查询。 利用 SQL命令建立视图的基本命令格式为:CREATEVIEW视图名ASSELECT 语句。本题可以用嵌套查询完成,先在内查询中从 orders表查找出有
11、订单的职工号,再在外查询中从 employee表中找出 orders表中没有的职工号,这里用到 NOT IN运算符。5.(1)请修改并执行名称为 form1的表单,要求如下: 为表单建立数据环境,并将“雇员”表添加到数据环境中。 将表单标题修改为“XXX 公司雇员信息维护”。 修改命令按钮“刷新日期”的 Click事件下的语句,使用 SQL的更新命令。将“雇员”表中“日期”字段值更换成当前计算机的日期值。注意:只能在原语句上进行修改,不可以增加语句行。 (2)建立一个名称为 menu1的菜单,菜单栏有“文件”和“编辑浏览”两个菜单。“文件”菜单下有“打开”、“关闭退出”两个子菜单;“编辑浏览”
12、菜单下有“雇员编辑”、“部门编辑”和“雇员浏览”三个子菜单。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: MODIFY FORM FORM1 ,打开表单设计器修改表单。 步骤 2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中双击“唐员”表,将表添加到数据环境中。 步骤 3:在“属性”面板中修改表单(Form1)的 Caption属性值为“XXX 公司雇员信息维护”。 步骤 4:双击表单中的“刷新日期”命令按钮(Command1),查看按钮的 Click事件代码: UPDATE ALL 日
13、期 WITH DATE() 修改后的代码如下: UPDATE 雇员 SET 日期=DATE() 步骤 5:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: CREATE MENU menu1 ,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤 2:在菜单设计器“菜单名称”列的文本框中依次输入“文件”和“编辑浏览”两个主菜单名,“结果”下拉框中选择为“子菜单”,单击“文件”行的“创建”按钮进入下级菜单设计,在“菜单名称”列的第 1、2 行文本框中依次输入子菜单名“打开”和“关闭退出”。 步骤 3:通过“菜单级
14、”下拉框返回主菜单项设计界面,参照步骤2的操作再建立“编辑浏览”的下级菜单。 步骤 4:执行【菜单】【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件。)解析:解析:(1)本题考查了表单及控件的常用属性、时间和方法;表单数据环境;SQL 更新语句。 在表单设计器中可以通过快捷菜单命令或“表单设计器”工具栏打开数据环境;修改表单的属性可以在“属性”面板中操作,标题属性为 Caption;利用 SQL更新语句修改表记录,其固定的语法结构是:UPDATE 表名SET字段名=表达式,字段名 1=表达式
15、11WHERE条件表达式。 (2)本题主要考查了下拉菜单的设计,操作过程中注意主菜单和子菜单的操作,从子菜单返回主菜单设计界面,可以使用菜单设计器右侧的“菜单栏”下拉框,另外,鳊写“退出”菜单命令时,要熟记返回系统菜单的命令语句:SET SYSMENU TO DEFAULT;最后要注意生成可执行菜单文件。三、综合应用题(总题数:2,分数:4.00)6.综合应用题()(分数:2.00)_解析:7.设计一个名为“mysupply”的表单,表单的控件名和文件名均为“mysupply”。表单的形式如图 1051所示。 (分数:2.00)_正确答案:(正确答案:选择【文件】【新建】命令,选择“表单”,单
16、击“新建文件”按钮打开表单设计器,在表单属性窗口中将 Caption属性值修改为“零件供应情况”;表单中添加一个表格控件Grid1、两个命令按钮控件 command1、command2,一个标签控件 Label1和一个文本框控件 Text1。 在表单属性窗口中将 Label1、command1、command2 的 Caption属性值修改为“工程号”“查询”“退出”。双击“查询”命令按钮,在 Click事件中输入代码: select 零件零件名 as零件名,零件颜色 as颜色,零件重量 as重量 From 供应,零件 where 零件零件号=供应零件号 and供应工程号=thisformtext1value Order By 零件名 Into dbf pp ThisFormGrid1RecordSource=“pp“ 双击“退出”命令按钮,在 Click事件中输入代码: thisformrelease 选择【表单】【执行表单】命令,系统首先要求保存该表单文件,在弹出的“另存为”对话框中输入表单文件名“mysupply”,保存在考生文件夹下,然后运行表单。)解析: