1、国家二级 VF 机试-试卷 190 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.在考生文件夹下有一表单文件 myformscx。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)在属性窗口中设置表单的有关属性,使表单在打开时在 VFP 主窗口内居中显示。 (2)在属性窗口中设置表单的有关属性,使表单内的 Center、East、South、West 和 North 五个按钮的大小都设置为宽 60、高 25。 (3)将 West、Center 和 East 三个按钮设置为顶边对齐;将 North
2、、Center 和 South 三个按钮设置为左边对齐。 (4)按 Center、East、South、West、North 的顺序设置各按钮的 Tab 键次序。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下,打开会员数据库 cdb,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询 2003 年会员购买商品的情况,将结果按会员号排序(升序)并输出(查询去向)到 two 表中。two 表中的字段名分别为:“会员号”、“会员名”、“商品名”、“金额”,其中:“会员号”来自会员表 cus,“金额”通过
3、“数量*单价”计算。设计完成后,运行该查询。 (2)修改一个名称为threeprg 的命令文件。该命令文件查询累计消费金额在 5000 元以上、每次购买数量大于或等于 10 的“女”会员的“会员号”、“会员名”、“单位”和“电话”,结果输出到表 three 中。该命令文件在第3 行、第 6 行、第 7 行有错误,打开该命令文件,直接在错误处修改,不允许增加和删除行。修改完成后,运行该命令文件。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.建立一个如图 1-14 所示的表单名和文件名均为 myform 的表单。表单的标题是“教师情况”,
4、表单中有两个命令按钮(Command1 和 Command2),两个复选框(Check1 和 Check2)和两个单选钮(Option1 和Option2)。Command1 和 Command2 的标题分别是“生成表”和“退出”,Check1 和 Check2 的标题分别是“系名”和“工资”,Option1 和 Option2 的标题分别是“按职工号升序”和“按职工号降序”。(分数:2.00)_国家二级 VF 机试-试卷 190 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.在考生文件夹下有一表单
5、文件 myformscx。打开该表单文件,然后在表单设计器环境下完成如下操作:(1)在属性窗口中设置表单的有关属性,使表单在打开时在 VFP 主窗口内居中显示。 (2)在属性窗口中设置表单的有关属性,使表单内的 Center、East、South、West 和 North 五个按钮的大小都设置为宽 60、高 25。 (3)将 West、Center 和 East 三个按钮设置为顶边对齐;将 North、Center 和 South 三个按钮设置为左边对齐。 (4)按 Center、East、South、West、North 的顺序设置各按钮的 Tab 键次序。(分数:2.00)_正确答案:(正
6、确答案:(1)在命令窗口执行命令: MODIFY FORM myform ,打开表单设计器修改表单。 选中表单,在“属性”面板中修改表单(Form1)的 AutoCenter 属性值为:T。 (2)同时选中表单中的5 个命令按钮,然后在“属性”面板中修改 Width 属性值为:60,修改 Height 属性值为:25。 (3)右击工具栏的空白区域,选择【布局】快捷菜单命令,打开表单的“布局”工具栏(如果表单设计器中没有显示该工具栏,则执行该操作)。 同时选中“West”、“Center”和“East”3 个按钮,然后单击“布局”工具栏中的“顶边对齐”按钮(第 3 个图标按钮)。 选中“Nort
7、h”、“Center”和“South”3 个按钮,然后单击“布局”工具栏中的“左边对齐”按钮(第 1 个图标按钮)。结果如图 2-35 所示。 )解析:解析:表单及控件的常用属性的设置及表单设计嚣中工具栏的使用。 在表单设计器中,通过“布局”工具栏可以方便地调整表单窗口中被选控件的相对大小和位置;通过“表单设计嚣”工具栏中的“设置 TAB 键次序”按钮,可以快速设置每个控件执行的先后顺序。 另外,表单控件的基本属性中,可以通过 TOP 和 Left 属性控制控件在表单中的位置,通过 Height 和 Width 属性可以设置控件的大小;要将表单在 visual FoxPro 主窗口中显示,可以
8、通过 AutoCenter 属性进行设置。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下,打开会员数据库 cdb,完成如下简单应用: (1)使用查询设计器设计一个名称为 two的查询,查询 2003 年会员购买商品的情况,将结果按会员号排序(升序)并输出(查询去向)到 two 表中。two 表中的字段名分别为:“会员号”、“会员名”、“商品名”、“金额”,其中:“会员号”来自会员表 cus,“金额”通过“数量*单价”计算。设计完成后,运行该查询。 (2)修改一个名称为threeprg 的命令文件。该命令文件查询累计消费金额在 5000
9、 元以上、每次购买数量大于或等于 10 的“女”会员的“会员号”、“会员名”、“单位”和“电话”,结果输出到表 three 中。该命令文件在第3 行、第 6 行、第 7 行有错误,打开该命令文件,直接在错误处修改,不允许增加和删除行。修改完成后,运行该命令文件。(分数:2.00)_正确答案:(正确答案:(1)步骤 1:在命令窗口执行命令: OPEN DATABASE cdb ,打开数据库环境。 步骤 2:在命令窗口执行命令: CREATE QUERY two ,打开查询设计器,在“添加表或视图”对话框中,分别双击 cus、cbc 和 comm 表,将表添加到查询设计器中,此时,添加的表会按照数
10、据库中已存在的表间联系自动为 3 个表在查询设计器中建立联系。 步骤 3:根据题目要求,在“字段”选项卡的“可用字段”中,依次双击“cus会员号”、“cus会员名”和“comm商品名”,将它们添加到“选定字段”列表中;然后在“函数和表达式”下的文本框中输入表达式:cbc数量*cbc单价 as 金额,再单击“添加”按钮,将其添加到“选定字段”列表中。 步骤 4:在“筛选”选项卡的“字段名”下拉列表框中选择“表达式”在“表达式生成器”对话框中输入“YEAR(cbc日期)”,在“条件”下拉列表框中选择“=”,在“实例”文本框中输入“2003”。 步骤 5:在“排序依据”选项卡中双击“选定字段”列表框
11、中的“cus会员号”,将其添加到“排序条件”列表框中,在“排序选项”中选择“升序”。 步骤6:执行【查询】【查询去向】菜单命令,在弹出的“查询去向”对话框中单击“表”图标按钮,接着在“表名”中输入文件名 two,单击“确定”按钮。 步骤 7:最后单击“常用”工具栏中的“运行”按钮查看结果,将查询文件保存到考生文件夹下。 (2)步骤 1:在命令窗口执行命令: MODIFY COMMAND three ,打开 threeprg 程序,命令中的命令代码如下: SELECT 会员号,会员名,单位,电话; FROM cus; WHERE 会员号=ANY; (SELECT 会员号; FROM cbc; W
12、HERE 数量=10 and 性别=女; GROUP BY会员号 HAVING 数量*单价=5000), INTO TABLE THREE 修改程序中的错误行,修改后的程序如下: SELECT 会员号,会员名,单位,电话; FROM cus; WHERE 性别=“女“and 会员号=ANY,(SELECT 会员号;FROM cbc; WHERE 数量=10; GROUP BY 会员号 HAVING SUM(数量*单价)=5000); &用 sum 函数求和 INTO TABLE three 步骤 2:保存文件修改,在命令窗口执行命令: DO THREEPRG ,执行程序文件。)解析:解析:(1
13、)本题主要考查的是查询设计器的使用。 查询用到了 cus、cbc 和 comm 三张表,查询的筛选条件为:year(销售日期)=2003,新字段名通过 AS 短语指定。 (2)本题主要考查的是 SQL 查询。该查询用到了 ANY 谓词,在嵌套查询中,使用 ANY 谓词时必须同时使用比较运算符,如“=ANY”的语义是等于子查询结果中的某个值,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真。在本查询中,在内查询中先求出每次购买数量大于等于 10 并且消费总额大于等于 5000 的会员号,而消费总额应该用SUM(数量*单价)函数实现,在外查询中,在 cus 表中查找出性别为“女”且会员
14、编号与任一内查询结果相同的会员信息由于“性别”字段在 cus 表中,故条件“性别=“女“”应写在外壹询中。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.建立一个如图 1-14 所示的表单名和文件名均为 myform 的表单。表单的标题是“教师情况”,表单中有两个命令按钮(Command1 和 Command2),两个复选框(Check1 和 Check2)和两个单选钮(Option1 和Option2)。Command1 和 Command2 的标题分别是“生成表”和“退出”,Check1 和 Check2 的标题分别是“系名”和“工资”,Opti
15、on1 和 Option2 的标题分别是“按职工号升序”和“按职工号降序”。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: CREATE FORMmyform ,打开表单设计器新建表单。从“表单控件”工具栏中依次向表单添加一个选项按钮组、两个复选框和两个命令按钮控件。 步骤 2;在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 2-15。 )解析:解析:本大题考查了表单及控件的常用属性和方法的设置;IF 条件语句;SQL 简单查询。 对本题操作时,首先根据题意新建表单、添加控件并修改相关属性。修改选项组单选按钮的标题属性值时,要注意选项组处
16、于“编辑”状态,能单独选定选项组中的按钮,否则“属性”面板中不会出现 Caption 属性。 由于查询是根据选项组中单个选项和复选框进行操作的,因此需要判断选项组的选项按钮及复选框的状态来执行相应的功能。选项组中荻得当前被选中单选项的返回值属性是 Value,当选项组的 Value 值为 1 时表示被选定的是第一个单选项,Value 值为 2 时表示被选定的是第二个单选项;而复选框被选中时,Value 值为 1,反之,Value 值为 0。 SQL 程序设计部分考查的是 SQL 简单的排序查询,属于非常简单的查询语句。通过多个 IF 语句的嵌套,判断执行何种查询,这里关键是要分清各条件语句的条件设置。根据题意,本题需要设计 3 组共 6 种 SQL 查询语句。 两个复选框同时被选中时,选项组中选中第一个单选按钮或指向第二个单选钮分别要执行的操作;第一个复选框被选中时,选项组中选中第一个单选按钮或指向第二个单选钮分别要执行的操作;第二个复选框被选中时,选项组中选中第一个单选按钮或指向第二个单选钮分别要执行的操作。