1、国家二级 VF机试(操作题)模拟试卷 138及答案与解析 一、基本操作题 1 (1)使用 SQL的建立表语句建立一个与自由表 “金牌榜 ”结构完全一样的自由表golden dbf。请将该 SQL语句存储在文件 one prg中,否则不得分。 “金牌榜 ”表结构如下:国家代码 C(3),金牌数 I,银牌数 I,铜牌数 I。 (2)在商品销售数据库 cdb中使用 SQL的 CREATETABLE语句创建数据库表,销售明细表 (顺序号,日期,商品号,商品名,金额 )。其中:顺序号为字符型,宽度为 6;日期为日期型;商品号为字符型,宽度为 6;商品名为字符型,宽度为 10;金额为数值型,宽度为 10(
2、其中小数 2位 );表的主关键字为 “顺序号 ”。将创建表的SQL语句存放在文件 one prg中。 二、简单应用题 2 (1)modil prg程序文件中 SQL SELECT语句的功能是查询哪些零件 (零件名称 )目前用于三个项目,并将结果按升序存入文本文件 results txt。给出的 SQL SELECT语句中在第 1、 3、 5行各有一处错误,清改正并运行程序 (不可以增、删语句或短语,也不司以改变语句行 )。 (2)根据项目信息 (一方 )和使用零件 (多方 )两个表、利用一对多报表向导建立一个报表,报表中包含 “项目号 ”、 “项目名 ”、 “项目负责人 ”、 (联系 )“电话
3、 ”、 (使用的 )“零件号 ”和 “数量 ”6个字段,报表按项目号升序排序,报表样式为 “经营式 ”,在总结区域 (细节及总结 )包含零件使用数量的合计,报表标题为 “项目使用零件信息 ”,报表文件名为 report。 三、综合应用题 3 在考生文件夹下,打肝 “住宿浏览 ”数据库,完成如下综合应用 (所有控件的属性必须在表单设计器的属性窗口中设置 ): 设计一个名称为 stuform的表单,表单的标题为 “学生住宿信息浏览 ”。表单上 设计个包含三个选项卡的页框和一个 “退出 ”命令按钮。如图 3-8所示。 要求如下: 为表单建立数据环境,按顺序向数据环境添加 “住宿 ”表和 “学生 ”表
4、。 按从左至右的顺序,三个选项卡的标签 (标题 )名称分别为 “学生 ”、 “宿舍 ”和 “住宿信息 ”,每个选项卡上均有一个表格控件,分别显示对应表的内容,其中 “住宿信息 ”选项卡显示如下信息: “学生 ”表所有学生的信息,加上所住宿舍的联系电话。 单击 “退出 ”按钮关闭表单。 国家二级 VF机试(操作题)模拟试卷 138答案与解析 一、基本操作题 1 【正确答案】 (1)在命令 窗口中输入代码并执行:(2)步骤 1:在命令窗口执行命令: MODIFY COMMAND one,新建程序文件并打开程序编辑器。 步骤 2:在程序编辑器中输入命令 (先要确认 cdb数据库已经打开 ):二、简单
5、应用题 2 【正确答案】 (1)步骤 1:命令窗口执行: MODIFY COMMAND MODIl,打开 modil prg程序,命令代码如下: 1 SELECT零件名称 FROM零件信息 WHERE零件号 =; 2 (SELECT零件号 FROM使用零件; 3 GROUP BY项目号 HAVING COUNT(项目号 )= 3) ; 4 OR DER BY零件名称; 5 INTO FILE results 修改程序中的错误行,修改后的程序如下: 1 SELECT零件名称 FROM零件信息 WHERE零件号 IN; 2 (SELECT零件号 FROM使用零件; 3 GROUP BY零件号 HA
6、VING COUNT(项目号 )=3) ; 4 ORDER BY零件名称; 5 TO FILE results 步骤 2:保存文件修改,在命令窗口执行命令: DO MODI1 PRG,执行程序文件。 (2)步骤 1:执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在 “新建 ”对话框中选 “报表 ”选项,击 “向导 ”按钮,弹出 “向导选取 ”,选中 “一对多报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 步骤 2: “步骤 1从父表选择字段 ”中,单击 “数据库和表 ”下拉列表框旁边的“” 按钮,在 “打开 ”对话框中选中 “项目信息 ”表,双击 “可用字段
7、 ”中的 “项目号 ”、“项目名 ”、 “项目负责人 ”和 “电话 ”字段,将其添加到 “选定字段 ”中,单击 “下一步 ”。 步骤 3:步骤 2从子表选择字段 ”的 “数据库和表 ”下选中 “使用零件 ”表,双击“可用字段 ”中的 “零件号 ”和 “数量 ”字段添加到 “选定字段 ”中,单击 “下一步 ”。 步骤 4:在报表向导的 “步骤 3为表建立关系 ”界面中系统自动建立两个表的联系,单击 “下一步 ”按钮。 步骤 5: “步骤 4排序记录 ”中双击 “可用的字段或索引标识 ”中的 “项目号 ”字段到 “选定字段 ”列表中,再选择 “升序 ”,单击 “下一步 ”。 步骤 6: “步骤 5
8、一选择报表样式 ”的 “样式 ”下选 “经营式 ”,单击 “下一步 ”。 步骤 7: “步骤 6完成 ”中的 “报表标题 ”下办文本框中输入 “项目使用零件信息 ”,单击 “完成 ”按钮。 步骤 8:在 “另存为 ”对话框的 “保存报表为: ”框 rfl输入表单文件名 report,单击“保存 ”按钮。 【试题解析】 (1)本题主要考查的是用 SQL嵌套查询、 SQL计算查询。 本题的查询思路是:在内查询中,从 “使用零件 ”表中获得目前用于三个项目的零件的 “零件号 ”,在外查询中,从 “零件信息 ”表中求出这些零 件的 “零件名称 ”。 程序第一处错误是嵌套查询中的运算符错误,因为内查询中
9、获得的 “零件号 ”可能不只是一个,而是一个集合,所以应该用 “IN”运算符,而不是 “=”。第二处错误是分组依据错误,根据题意,应该按照 “零件号 ”分组。第三处错误是查询去向语句错误,将查询结果保存在文本文件中应使用 TO FILE短语。 (2)本题的主要考核点是使用报表向导制作报表。按照向导提示操作即可。 三、综合应用题 3 【正确答案】 步骤 1:在命令窗口执行命令: OPEN DATABASE住宿浏览,打开 “住宿浏览 ”数据库环境。 步骤 2:右击表单选择【数据环境】快捷菜单命令,继续在表单数据环境中单击右键选择【添加】快捷菜单命令,在 “添加表或视图 ”对话框中依次双击 “住宿
10、”表和 “学生 ”表,将表添加到数据环境中。 步骤 3:在命令窗口执行命令: CKEATE FORM sTuFORM,打开表单设计器新建表单。从 “表单控件 ”工具栏中依次向表单添加一个命令按钮和一个页框控件。 步骤 4:在 “属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 4-12。步骤 5:然后右击 “页框 ”控件,选择【编辑】快捷菜单命令,让页框处于编辑状态 ,通过 “表单控件 ”工具栏向每个页面添加一个表格控件,在 “属性 ”面板中依次设置每个表格的属性,设置内容如下: “学生 ”页面 (Pagel)中的表格 (Gridl)属性设置: RecordSou
11、rceType: 1-别名; RecordSource:学牛 “宿舍 ”页面 (Page2)中的表格 (Gridl)属性设置: RecordSourceType: 1-别名; RecordSource:宿舍 “住宿信息 ”页面 (Page3)中的表格(Gridl)属性设置: RecordSourceType: 4-SQL说明;然后编写该表格的 Init事件代码: *“住宿信息 ”页面 (Paqe3)中的表格 (Gridl)的 Init事件代码 * 1 THIS RECORDSOURCE=”SELECT 学生 *, 宿舍联系电话; 2 FROM 住宿浏览 !宿舍 INNER JOIN 住宿 浏览
12、 !学生; 3 ON 宿舍宿舍号 =学生宿舍号; 4 INTO CURSOR stable“ 步骤 6:双击 “退出 ”命令按钮,编写按钮的 Click事件代码: THISFORM RELEASE。 步骤 7:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生 文件夹下。 【试题解析】 本大题主要考查的是表单中页框控件的使用;表单数据环境的使用; SQL简单连接查询。 本题的关键是了解表格的两个重要属性: RecordSourceType属性 (数据源类型 )和 Recordsource属性 (数据源 ),通过这两个属性可以指定表格的数据来源,当将表格的数据源类型设置为表或视图时,需要将表或视图添加到表单设计器的数据环境中。 另外,要注意的是在向每个页面中添加表格控件时,一定要注意页面处于编辑状态下 (每个页面都可单独选定 ),否则添加的表格对象只是停留在页框 上方,该表格实际是包含在表单中而非添加到页框的页面中。控制页框中页面数的属性为PaqeCount,该属性为页框控件最重要的属性之一。 本题所涉及的 SQL连接查询属于比较简单的语句,直接套用固定语法即可完成。