1、国家二级 VF机试(操作题)-试卷 231及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.1在考生文件夹下新建一个名为“供应”的项目文件。 2将数据库“供应零件”加入到新建的“供应”项目中。 3通过“零件号”字段为“零件”表和“供应”表建立永久性联系,其中,“零件”表是父表,“供应”表是子表。 4为“供应”表的“数量”字段设置有效性规则:数量必须大于 0并且小于9999;错误提示信息是“数量超范围”(注意:规则表达式必须是“数量0and数量9999”)。(分数:2.00)_二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简
2、单应用: 1使用 SQL语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp中。最后将该 SQL语句存储在文件 threeprg 中。 2建立一个文件名和控件名均为myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个“退出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查
3、询”,列表框的数据源使用 SQL语句根据“国家”表显示国家名称,选项组中有 3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:2.00)_三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作: (1)建立一个文件名和表单名均为 oneform的表单文件,表单中包括两个标签控件(Label1 和 Label2)、一个选项组控件(Optiongroup1)、一个组合框控件(Combol)和两个命令按钮控件(Commandl 和 Command2),Label1 和 Label2的标题分别为“系名”和“计算内容”,选项组中有两
4、个选项按钮 Option1和 Option2,标题分别为“平均工资”和“总工资”,Command1 和 Command2的标题分别为“生成”和“退出”。如下图所示。 (分数:2.00)_国家二级 VF机试(操作题)-试卷 231答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.1在考生文件夹下新建一个名为“供应”的项目文件。 2将数据库“供应零件”加入到新建的“供应”项目中。 3通过“零件号”字段为“零件”表和“供应”表建立永久性联系,其中,“零件”表是父表,“供应”表是子表。 4为“供应”表的“数量”字段设置有效性规则:数量必须大于 0并且小于9
5、999;错误提示信息是“数量超范围”(注意:规则表达式必须是“数量0and数量9999”)。(分数:2.00)_正确答案:(正确答案:(1)启动 Visual FoxPro 60,按照题目的要求新建一个名为“供应”的项目文件,如图 31 所示。 (2)按照题目的要求,将“供应零件”数据库添加到项目“供应”中,如图32 所示。 (3)步骤 1:按照题目的要求为“零件”表建立主索引,如图 33 所示。 步骤 2:用同样的方法为“供应”表建立普通索引,如图 34 所示。 步骤 3:在数据库设计器中从主索引拖曳到普通索引,建立联系,如图 35 所示。 (4)按照题目的要求为“供应”表中的“数量”字段设
6、置字段有效性规则,如图 36 所示。 )解析:二、简单应用题(总题数:1,分数:2.00)2.在考生文件夹下完成如下简单应用: 1使用 SQL语句完成下面的操作:根据“国家”和“获奖牌情况”两个表统计每个国家获得的金牌数(“名次”为 1表示获得一块金牌),结果包括“国家名称”和“金牌数”两个字段,并且先按“金牌数”降序排列,若“金牌数”相同再按“国家名称”降序排列,然后将结果存储到表 temp中。最后将该 SQL语句存储在文件 threeprg 中。 2建立一个文件名和控件名均为myform的表单,如下图所示。表单中包括一个列表框(List1)、一个选项组(Optiongroup1)和一个“退
7、出”命令按钮(Command1),这三个控件名使用系统默认的名称。相关控件属性按如下要求进行设置:表单的标题为“奖牌查询”,列表框的数据源使用 SQL语句根据“国家”表显示国家名称,选项组中有 3个按钮,标题分别为金牌(Option1)、银牌(Option2)和铜牌(Option3)。 (分数:2.00)_正确答案:(正确答案:(1)新建程序 threeprg,然后输入以下命令语句。 *threeprg 中的代码* &选择查询字段,通过 AS短语制定显示字段 SELECT 国家国家名称,COUNT(获奖牌情况名次)AS 金牌教; 指定字段来源 FROM 国家获奖牌情况; 设置查询条件 WHER
8、E 国家国家代码=获奖牌情况国家代码; AND 获奖牌情况名次=1; &GROUP BY 子句用于按国家名称分组 GROUP BY国家国家名称; 查询结果按金牌教降序排列,金牌数相等时按国家名称降序排列 ORDER BY 2 DESC,国家国家名称 DESC; 将查询结果存储到 tempdbf 中 INTO TABLE tempdbf * 保存并运行程序。 (2)新建一个表单,按题目要求添加一个列表框、一个选项组和个命令按钮,并修改其属性如下:表单的 Name属性为myform,Caption 属性为“奖牌查询”;列袁框的 RowSourceType属性为“3 一 SQL语句”,RowSour
9、ee属性为“SELECT 国家姓名 FORM国家 INTO cursor LSB”;选项组的 ButtonCount属性为 3;单选钮 1的Caption属性为“金牌”;单选钮 2的 Caption属性为“银牌”;单选钮 3的 Caption3属性为“铜牌”;命令按钮的 caption属性为“退出”。 保存表单为 myfrom,运行以查看表单的设计结果。)解析:三、综合应用题(总题数:1,分数:2.00)3.在考生文件夹下完成下列操作: (1)建立一个文件名和表单名均为 oneform的表单文件,表单中包括两个标签控件(Label1 和 Label2)、一个选项组控件(Optiongroup1
10、)、一个组合框控件(Combol)和两个命令按钮控件(Commandl 和 Command2),Label1 和 Label2的标题分别为“系名”和“计算内容”,选项组中有两个选项按钮 Option1和 Option2,标题分别为“平均工资”和“总工资”,Command1 和 Command2的标题分别为“生成”和“退出”。如下图所示。 (分数:2.00)_正确答案:(正确答案:步骤 1:打开 college数据库。在命令窗口输入“CreateForm oneform”,按下回车键新建一个表单。按题目要求向表单添加控件,并修改各控件的属性。 步骤 2:右击表单空白处,选择“数据环境”命令,将“
11、学院表”和“教师表”添加到数据环境设计器中。 双击命令按钮,编写两个命令按钮的 Click事件代码。 *“生成”按钮的 click事件代码* 对 x进行赋值 x=ThisFormcombolValue IF ThisFormOptiongrouplValue=1 选择查询字段,通过 AS短语指定显示字段,avg()函数用于求平均值 SELECT 学院表系名,学院表系号,avg(教师表工资) AS 平均工资; 指定字段来源 FROM 学院表,教师表; 设置查询条件 WHERE 学院表系号=教师表系号, AND 学院表系名=x; &GROUP BY 子句用于按系号分组 GROUP BY 学院表系号
12、; 将查询结果存储到 salarydbf 中 INTO TABLE salarydbf ELSE 选择查询字段,通过 AS短语指定显示字段,sum()函数 用于求和 SELECT 学院表系名,学院表系号,sum(教师表工 资)AS 总工资; 指定字段来源 FROM 学院表,教师表, 设置查询条件 WHERE 学院表系号=教师表系号; AND学院表系名=x; &GROUP BY 子句用于按系号分组 GROUP BY 学院袁系号; 将查询结果存储到salarydbf 中 INTO TABLE salarydbf ENDIF * *“退出”按钮的 Click事件代码* ThisFormRelease * 步骤 3:保存表单,并按题目要求运行,如图396 所示。 )解析: