1、国家二级 VF 机试(操作题)-试卷 30 及答案解析(总分:6.00,做题时间:90 分钟)一、基本操作题(总题数:1,分数:2.00)1.在考生文件夹下,打开招生数据库 sdb,完成如下操作:(1)在 ksb 表中增加一个名为“备注”的字段、字段数据类型为“字符”、宽度为 30。 (2)在考生成绩表 kscib 中给成绩字段设置有效性规则和默认值,成绩=0 AND 成绩=0 AND 成绩=0 and 成绩=150,在“默认值”文本框中输入:0。 (3)在数据库设计器中,拖动 kbs 表“索引”下方的主索引“考生号”到 kscib 表中“索引”下方的普通索引“考生号”上,为两个表建立联系。
2、选中 ksb 和 kscjb 两个表之间的关联线(被选中的线会变粗),先执行【数据库】【清理数据库】菜单命令,清空数据库表中带有删除标记的记录,然后执行【数据库】【编辑参照完整性】菜单命令。在打开的“参照完整性”对话框的表格中:选择“更新“为“级联”:“删除”为“限制”;“插入”为“忽略”。单击“确定”保存修改。 (4)命令窗口执行: OPEN DATABASE sdb ,打开 sdb 数据库。 执行【文件】【新建】菜单命令,或单击“常用”工具栏的“新建”按钮,在“新建”中选“报表”,单击“向导”图标按钮,“向导选取”中选“报表向导”项,单击“确定”按钮,启动报表向导。 “步骤 1-字段选取”
3、的“数据库和表”下选“ksb”表,将“可用字段”全部添加到“选定字段”中,单击“下一步”按钮。 “步骤 2-分组记录”中,单击“下一步”。 “步骤 3-选择报表样式”的“样式”下选择“随意式”,单击“下一步”。 “步骤 4-定义报表布局”的“列数”下输入“1”,在“字段布局”下选择“列”,在“方向”下选择“纵向”,单击“下一步”。 “步骤 5-排序记录”中双击“可用的字段或索引标识”中的“考生号”字段到“选定字段”列表中,再选择“升序”,单击“下一步”。 “步骤 6-完成”中“报表标题”下输入“考生成绩一览表”,单击“完成”按钮。 在“另存为”对话框的“保存报表为:”框中输入报表文件名 one
4、,单击“保存”按钮。)解析:解析:本题考查了表结构的修改;有效陛规则的建立及参照完整性的设置;报表向导的使用。 在表设计器中对表中字段建立有效性规则和设置默认值是操作,要注意先选中需要建立有效性规则的字段。建参照完整性前要先建立两个表的关联,且一个表中必须建立关联字段的主索引(或候选索引),另一个表要建立普通索引,建立联系后要先清理数据库,再设置参照完整性。二、简单应用题(总题数:1,分数:2.00)2.(1)在考生文件夹下已有表单文件 formoneSCX,如图 235 所示,其中包含两个标签、一个组合框和一个文本框。 (分数:2.00)_正确答案:(正确答案:(1) 步骤 1:在命令窗口执
5、行命令: MODIFY FORM formone ,打开表单设计器修改表单。 步骤 2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在“添加表或视图”对话框中双击 orders 表和 employee 表,将表添加到数据环境中。步骤 3:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 337。 )解析:解析:(1)本题考查了表单及控件的常用属性和方法的设置;SQL 简单计算查询。 首先打开表单数据环境向数据环境中添加数据表 orders 表和 employee 表,接着,通过 RowSourceTyDe 和 RowS
6、ource 属性可以设置组合框中显示的数据,当显示的是字段值时,可以设置数据源类型为“字段”。 表单基本设置完成后开始设计组合框的事件代码,可以很容易看出本题事件中代码的错误原因是没有正确引用表单中的文本框。 (2)本题考查的是在查询设计器中新建查询的操作。由于涉及两个表的操作,因此在操作过程中要注意确认查询输出的字段来源于哪个数据表;设置查询条件是在“筛选”选项卡中进行;设置排序是在“排序依据”选项卡中进行,在设置排序方式时,需要每指定一个排序字段时,便要指定一次排序方式,升序为默认的排序方式;查询去向可通过执行【查询】【查询去向】菜单命令,在“查询去向”对话框中进行操作。三、综合应用题(总
7、题数:1,分数:2.00)3.请编写名称为 change_c 的程序并执行;该程序实现下面的功能: 将雇员工资表 salarys 进行备份,备份文件名为 bak salarysdbf;利用“人事部”向“财务部”提供的雇员工资调整表 c salaryl 的“工资”,对 salarys 表的“工资”进行调整(请注意:按“雇员号”相同进行调整,并且只是部分雇员的工资进行了调整,其他雇员的工资不动)。 设计一个名称为 form2 的表单,上面有“调整”(名称Command1)和“退出”(名称 Command2)两个命令按钮。单击“调整”命令按钮时,调用 change_c 命令程序实现工资调整;单击“退
8、出”命令按钮时,关闭表单。 注意:在两个命令按钮中均只有一条命令,不可以有多余命令。(分数:2.00)_正确答案:(正确答案:步骤 1:在命令窗口执行命令: MODIFY COMMAND change_c ,打开程序文件编辑器编写代码。 步骤 2:在编辑器中输入如下程序代码: 1 SELECT*FROM SALARYS INTO TABLE bak_salarys 2 SELECT 3 3 USE c_salarv1 ORDER 雇员号 4 SELECT salarys 5 SET RELATION TO 雇员号 INTO c_salary1 6 REPLACE ALL 工资 WITH c_s
9、alary1工资 FOR 雇员号=c_salary1雇员号 7 SET RELATION TO 步骤 3:单击“常用”工具栏中的“运行”按钮,保存并运行程序。 步骤 4:在命令窗口执行命令: CREATE FORM form2 ,打开表单设计器新建表单。 步骤 5:从“表单工具栏”中依次向表单添加两个命令按钮控件。在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值,见表 335。 )解析:解析:本题考查的是程序的编写;表单的建立以及常用控件属性的设置;控件事件代码的编写。程序的大致思想是:先通过 select 查询语句将 salarys 表进行备份,然后以“雇员号”为当前索引打开c_salary1 表,接着通过索引“雇员号”建立 salarys 表和 c_salary1 表的临时联系,这样,c_salary1表中记录指针就会随着 salarys 表中记录指针的变化而变化,即两个表中的记录指针在同一时刻指向同一个“雇员号”;然后将 salarys 表中的“工资”值用 c_salaryl 表中的“工资”值替换。