1、国家二级 VF 机试-试卷 197 及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)新建一个名为“学生管理”的数据库。 (2)将“学生”“成绩”和“课程”3 个自由表添加到新建的数据库“学生管理”中。 (3)通过“学号”字段为“学生”表和“成绩”表建立永久联系。 (4)为上面建立的联系设置参照完整性约束:更新和删除规则为“级联”,插入规则为“限制”。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.(1)设计时钟应用程序,具体描述如下: 表单名
2、和表单文件名均为“timer”,表单标题为“时钟”,表单运行时自动显示系统的当前时间。 单击“暂停”命令按钮,时钟停止; 单击“继续”命令按钮时,时钟继续显示系统的当前时间; 单击“关闭”命令按钮时,关闭表单。 提示:使用计时器控件,将该控件的 Interval 属性设置为 1000,即每 1000 毫秒触发一次计时器控件的 Timer 事件(显示一次系统时间);将计时器控件的 Interrval 属性设置为“0”将停止触发 Timer 事件;在设计表单时将 Timer 控件的 Interval 属性设置为 1000。 (2)使用查询设计器设计一个查询“qry1”,要求如下: 基于自由表“货币
3、代码”和“外汇账户”,查询含有字段“账户”“货币名称”“数量”“买入价”及表达式“买入价*数量”,先按“账户”升序排序,再按“数量”降序排序,查询去向为表“resuhdbf”,完成设计后将查询保存,并运行该查询。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.当“crder_d”表中的单价修改后。应该根据该表的“单价”和“数量”字段修改”order_m”表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据“order_d”表中的记录重新计算“order_m”表的总金额字段的值。 一条 order_m 记录可以对应几条
4、order_d 记录。 最后将“order_m”表中的记录按总金额降序排序存储到“result2”表中(表结构与“order_m”表完全相同。 将程序保存为“cx1prg”文件。(分数:2.00)_国家二级 VF 机试-试卷 197 答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)新建一个名为“学生管理”的数据库。 (2)将“学生”“成绩”和“课程”3 个自由表添加到新建的数据库“学生管理”中。 (3)通过“学号”字段为“学生”表和“成绩”表建立永久联系。 (4)为上面建立的联系设置参照完整性约
5、束:更新和删除规则为“级联”,插入规则为“限制”。(分数:2.00)_正确答案:(正确答案:(1)选择【文件】【新建】命令,然后选择“数据库”输入名为“学生管理”,单击“确定”按钮。 (2)在“数据库设计器”中,单击右键选择“添加表”,在“打开”对话框中选择表“学生”,单击“确定”按钮将自由表“学生”添加到数据库“学生管理”中,同理,将表“课程”“成绩”添加到数据库“学生管理”中。 (3)在数据库设计器中,选择表“学生”,选择【数据库】【修改】命令,打开表设计器修改表“学生”结构,单击“索引”选项卡,将“索引名”为“学号”的索引修改索引类型为“主索引”,单击“确定”按钮关闭表设计器并保存表“学
6、生”结构。 在数据库设计器中,将“学生”表中“索引”下面的“学号”主索引字段拖曳到“成绩”表中“索引”下面的“学号”索引字段上,建立两个表之间的永久性联系。 (4)在数据库设计器中,选择【数据库】【清理数据库】命令清理数据库。 右键单击“学生”表和“成绩”表之间的关系线,在弹出的快捷菜单中选择“编辑参照完整性”命令,打开参照完整性生成器。 单击“更新规则”选项卡,选择“级联”;单击“删除规则”选项卡,选择“级联”;单击“插入规则”选项卡,选择“限制”。 单击“确定”按钮,保存参照完整性设置。)解析:二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.(1
7、)设计时钟应用程序,具体描述如下: 表单名和表单文件名均为“timer”,表单标题为“时钟”,表单运行时自动显示系统的当前时间。 单击“暂停”命令按钮,时钟停止; 单击“继续”命令按钮时,时钟继续显示系统的当前时间; 单击“关闭”命令按钮时,关闭表单。 提示:使用计时器控件,将该控件的 Interval 属性设置为 1000,即每 1000 毫秒触发一次计时器控件的 Timer 事件(显示一次系统时间);将计时器控件的 Interrval 属性设置为“0”将停止触发 Timer 事件;在设计表单时将 Timer 控件的 Interval 属性设置为 1000。 (2)使用查询设计器设计一个查询
8、“qry1”,要求如下: 基于自由表“货币代码”和“外汇账户”,查询含有字段“账户”“货币名称”“数量”“买入价”及表达式“买入价*数量”,先按“账户”升序排序,再按“数量”降序排序,查询去向为表“resuhdbf”,完成设计后将查询保存,并运行该查询。(分数:2.00)_正确答案:(正确答案:(1)选择【文件】【新建】命令,选择“表单”,单击“新建文件”按钮打开表单设计器,在表单属性窗口中将 Caption 属性值修改为“时钟”,将 Name 属性值修改为“Timer”,单击表单控件工具栏上的“标签”控件图标,为表单添加一个标签 Label1;单击表单控件工具栏上的“命令按钮”控件图标,为表
9、单添加 3 个命令按钮 Command1、command2 和 command3;单击表单控件工具栏上的“计时器”控件图标,为表单添加一个计时器 Tliner1。 分别选择 3 个命令按钮,在按钮属性窗口中将命令按钮 Command1 的 Caption 属性值修改为“暂停”,将命令按钮 Command2 的 Caption 属性值修改为“继续”,将命令按钮 command3 的 caption 属性值修改为“关闭”,如图 581 所示。双击“关闭”命令按钮,在 Click 事件中输入代码:ThisFormRelease,用来关闭表单。 )解析:三、综合应用题(总题数:2,分数:4.00)5.
10、综合应用题()(分数:2.00)_解析:6.当“crder_d”表中的单价修改后。应该根据该表的“单价”和“数量”字段修改”order_m”表的总金额字段,现在编写程序实现此功能,具体要求和注意事项如下: 根据“order_d”表中的记录重新计算“order_m”表的总金额字段的值。 一条 order_m 记录可以对应几条 order_d 记录。 最后将“order_m”表中的记录按总金额降序排序存储到“result2”表中(表结构与“order_m”表完全相同。 将程序保存为“cx1prg”文件。(分数:2.00)_正确答案:(正确答案:在命令窗口中输入命令:MODI COMM cx1(回车执行),打开程序文件编辑窗口,在程序文件编辑窗口中输入以下程序代码: SELECT 订单编号,SUM(数量*单价)INTO ARRAY aa FROM order_d GROUP BY 订单编号 FOR i=1 TO ALEN(aa)2 UPDATE order_m SET 总金额=aa(i,2)wHERE 订单编号=aa(i,1) NEXT SELECT*INTO TABLE resuh2 FROM order_m ORDER BY 总金额 DESC 关闭程序文件编辑窗口并保存程序文件。 在命令窗口中输入命令:DO cx1(回车执行),执行程序文件。)解析: