1、国家二级 VF机试模拟试卷 179及答案与解析 一、基本操作题( 30分) 1 在考生文件夹下,打开 test db数据库,完成如下操作: (1)为表 sell建立一个主索引,索引名为 PK,索引表达式为:部门号 +年度 +月份。 (2)将自由表 datatest、 model、 tabe和 pass添加到当前打开的数据库中。 (3)在当前数据库中创建表 test(部门号,年份,销售额合计 ),其中:部门号为字符型,宽度为 2;年份为字符型,宽度为 4;销售额合计为数值型,宽度为 8(其中小数 2位 )。 (4)使用报表向导建立一个简单报表,要求选择表 sell中所有字段 (其他不做要求 ),
2、报表文件名为 two。 二、简单应用题( 40分) 2 (1)建立表单,表单文件名和表单控件名均为 myform_da。为表单建立快捷菜单scmenu_d,快捷菜单有选项 “时间 ”和 “日期 ”;运行表单时,在表单上单击鼠标右键弹出快捷菜单,选择快捷菜单的 “时间 ”项,表单标题将显示当前系统时间,选择快捷菜单的 “日期 ”项,表单标题将显示当前系统日期。 注意:显示时间和日期用过程实现。 (2)使用 SQL命令从 worker中查询年龄最大的三名职工信息:职工号、姓名、出生日期,查询结果按年龄降序 (即出生日期升序 )排序并保存在表 infor db dbf中。 三、综合应用题( 30分)
3、 3 建立一个文件名和表单名均为 myform的表单,表单中包括一个列表框 (List1)和两个命令按钮 (Command1和 Command2), Command1和 Command2的标题分别为 “计算 ”和 “退出 ”。 列表框 (List1)中应显示组号,通过 RowSource和 RowSourceType属性手工指定列表框的显示条目为 “01”、 “02”、 “03”、 “04”(注意:不要使用命令指定这两个属性,否则将不能得分 )。 为 “计算 ”命令按钮编写程序。程序的功能是:表单运行时,根据列表框中选定的 “组号 ”,将 “评分表 ”中该组歌手 (“歌手编号 ”字段的左边两位
4、表示了该歌手所在的组号 )的所有记录存入自由表 two dbf中, two dbf的表结构与 “评分表 ”相同,表中的记录先按 “歌手编号 ”降序、再按 “分数 ”升序排列。 运行表单,在列表框中指定组号 “01”,并且单击 “计算 ”命令按钮。注意:结果two表文件中只能且必须包含 “01”组歌手的评分 信息。 国家二级 VF机试模拟试卷 179答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY DATABASE test_db,打开 test_db数据库设计器。 右击数据库设计器中的 sell表,选择【修改】快捷菜单命令,打开 sell表设
5、计器,选中 “索引 ”选项卡,在 “索引名 ”下方的文本框中输入 “PK”,在 “索引 ”选项卡中将 “类型 ”选择为 “主索引 ”,在表达式下方的文本框中输入 “部门号 +年度 +月份 ”,建立主索引。 (2)在数据库设计 器中右击鼠标,选择【添加表】快捷菜单命令,在弹出的 “打开 ”对话框中双击 datatvst表,将表添加到数据库中,以同样的方法将 model、 tabc和 pass表添加到数据库中。 (3) 在数据库设计器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的 “新建表 ”对话框中单击 “新建表 ”图标按钮,然后在弹出的 “创建 ”对话框的 “输入表名 ”框中输入 test,
6、单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输入每个字段的字段名,并设置字段类型和宽度,然后单击 “确定 ”按钮。此时系统会弹出一个对话框询 问 “现在输入数据记录吗 ?”,本题不要求录入数据,单击 “否 ”按钮。 (4) 执行【文件】 【新建】菜单命令,或单击 “常用 ”工具栏的 “新建 ”按钮,在弹出的 “新建 ”对话框中选中 “报表 ”选项,然后单击 “向导 ”图标按钮,系统弹出 “向导选取 ”对话框,选中 “报表向导 ”项,单击 “确定 ”按钮,启动报表向导。 在报表向导的 “步骤 1字段选取 ”界面的叫 “数据库和表 ”下选中 sell表,将 “可用字段 ”中的字段
7、全部添加到 “选定字段 ”中。 由于本题不再要求其他操作,可以直接单击 “完成 ”按钮跳至向导最后一个界面 。继续单击 “完成 ”按钮,在 “另存为 ”对话框的 “保存报表为: ”框中输入报表文件名 two,单击 “保存 ”按钮。 【试题解析】 本题考查了表索引的建立;数据库的基本操作;数据表的建立;报表向导的使用。 根据多个字段建立索引表达式时,需要在表设计器 “索引 ”选项卡的 “表达式 ”中进行设置,该索引表达式可以直接输入,也可以打开 “表达式生成器 ”建立。 向数据库中添加表需要打开数据库设计器进行添加;创建数据库表时,可以通过数据库设计器中的快捷菜单命令打开表设计器建立表。 报表向
8、导的使用非常简单,通过 “新建 ”对话框或莱单命令启动向导后,按照向导提示完成题目所要求的设置即可。 二、简单应用题( 40分) 2 【正确答案】 (1)步骤 1:在命令窗口执行命令: CREATE MENUscmenu_d,在弹出的 “新建菜单 ”对话框中单击 “快捷菜单 ”图标按钮,打开快捷菜单设计器。 步骤 2:在快捷菜单设计器 “菜单名称 ”列的文本框中依次输入 “日期 ”和 “时间 ”两个主菜单名,在 “结果 ”下拉框中选择为 “过程 ”。分别单击两个过程后面的 “创建 ”按钮打开过程编辑器,编写过 程代码。两个过程代码如下: “日期 ”菜单命令: MYFORM_DA CAPTION
9、=DTOC(DATE()“时间 ”菜单命令: MYFORM_DA CAPTION=TIME() 步骤 3:单击工具栏中的 “保存 ”按钮,然后执行【菜单】 【生成】菜单命令,在弹出的 Visual FoxPro对话框中单击 “是 ”按钮,接着系统会弹出 “生成菜单 ”对话框,单击 “生成 ”按钮生成一个可执行的菜单文件 (semcnu_d mpr)。 步骤 4:在命令窗口执行命令: CREATE FORMmvform_da,打开表单设计器新建表单,同时在 “属性 ”窗口中修改表单的 “Name”属性值为 “myform_da”。 步骤 5:双击表单,编写表单的 RightClick(鼠标右击
10、)事件代码为: DO scmenu_d mpr。 步骤 6:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 (2)在命令窗口执行以下 SQL命令 (以下程序是通过查询设计器生成 ): SELECT TOP 3职工号,姓名,出生日期; FROM worker ; ORDER BY出生日期; INTO TABLE infor_db dbf 【试题解析】 (1)本题考查的是快捷菜单的设计。操作关键主要包括以下几点: 在打开菜单设计器时, “新建菜单 ”对话框中一定要单击 “快捷菜单 ”,而不是 “菜单 ”。进入快捷菜单设计器后,其他的操作类似下拉菜单的操作。 在表
11、单中调用快捷菜单时,一般都是通过 RightClick(鼠标右击 )事件中调用,调用菜单文件时,菜单文件名不能缺省。 (2)本题主要考查 SQL中特殊选项 TOP短语的使用,该短语必须与排序短语ORDER BY 一起使用才有效。对于 SQL语句不太熟悉的考生,也可以直接在查询设计器中进行设计, TOP短语对应查询设计器 “杂项 ”选项卡中的 “记录个数 ”。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE FORMmyform,打开表单设计器新建表单。 步骤 2:从 “表单控件 ”工具栏中依次向表单添加一个列表框和两个命令按钮控件。在 “属性 ”面板
12、的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-13。 步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代 码如下: *“计算 ”按钮的 Click事件代码 *num=THISFORM LIST1 VALUE SELECT*; FROM 评分表 WHERE LEFT(歌手编号, 2)=num; ORDER BY 歌手鳊号 DESC,分数 INTODBF two*“退出 ”按钮的 Click事件代码 * THISFORM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮,在列表框中选择 “01”,然后单击 “计算 ”按钮,运行表单。 【试题解析】 本大题考查了表单及控件的常用属性和方法的设置 ; SQL排序查询。 本题关键是怎样获取列表框所选条目的值,这可以通过列表框的 Value属性取得, Value值等于当前列表框中被选中的条目。 另外,可以通过表框的 RowSourceType和 RowSource属性指定列表框的数据源类型和数据源;通过字符串截取函数从 “歌手编号 ”字段中得到歌手的组号。 SQL排序查询中,用来排序的短语为 ORDER BY,降序的关键字为 DESC,默认的排序方式为升序方式 (ASC),根据多个字段排序时,需要在各字段之间加逗号隔开。