1、国家二级 VF机试模拟试卷 212及答案与解析 一、基本操作题( 30分) 1 (1)打开表单 one,向其中添加一个组合框 (Combo1),并将其设置为下拉列表框。 (2)在表单 one中,通过 RowSource和 RowSourceType属性手工指定组合框Combo1的显示条目为 “上海 ”、 “北京 ”(不要使用命令指定这两个属性 )。 (3)向表单 one中添加两个命令按钮 Command1和 Command2,其标题分别为 “统计 ”和 “退出 ”。为 “退出 ”命令按钮的 Click事件写一条命令,执行该命令时关 闭和释放表单。 (4)为表单 one中的 “统计 ”命令按钮的
2、 Click事件写一条 SQL命令,执行该命令时,将 “歌手表 ”中所有 “歌手出生地 ”与组合框 (Combo1)指定的内容相同的歌手的全部信息存入自由表 birthplace中。 二、简单应用题( 40分) 2 (1)将 order_listl表中的全部记录追加到 order_list表中,然后用 SQL SELECT语句完成查询:按总金额降序列出所有客户的客户号、客户名及其订单号和总金额,并将结果存储到 results表中 (其中客户号、客户名取自 customer表,订单号、总金额取自 order_list表 )。 (2)打开 form1表单,并按如下要求进行修改 (注意: 最后保存所
3、做的修改 ): 表单中有 5个随机排列的命令按钮,不要移动或改变 “基准按钮 ”的位置 (否则影响成绩 ),然后使其他命令按钮与 “基准按钮 ”左部对齐。 在这组命令按钮的右边添加一个表格控件,并将它的 RocordSourceType属性设置为 “表 ”,然后设置另一个相关属性使在表格控件中显示 customer表的记录。 三、综合应用题( 30分) 3 在考生文件夹下,先打开 学生数据库 sdb,然后创建一个文件名为 form的表单,完成如下综合应用: 在该表单中设计两个命令按钮,各命令按钮的功能如下: “查询 ”按钮 (Command1):在该按钮的 Click事件中使用 SQL的 SE
4、LECT命令查询每个学生所选的所有课程的成绩都是 60分以上 (包括 60分 )的学生的学号、姓名、平均成绩和最低分,并将查询结果按学号升序排序存储到表 four中。表 four的字段为学号、姓名、平均成绩、最低分。 “退出 ”按钮 (Command2):单击 “退出 ”按钮时,关闭表单。 表单设计完 成后,运行该表单进行查询。 国家二级 VF机试模拟试卷 212答案与解析 一、基本操作题( 30分) 1 【正确答案】 (1) 在命令窗口执行命令: MODIFY FORM one,打开表单设计器新建表单。 通过 “表单控件 ”工具栏向表单添加一个组合框 (Combo1),在 “属性 ”面板中修
5、改组合框的 Style属性值为: 2-下拉列表框。 (2)接上小题操作,继续在 “属性 ”面板中修改组合框 (Combo1)的 RowSourceType属性值为: 1-值;修改 RowSource属性值为:上 海,北京。 (3) 通过 “表单控件 ”工具栏向表单添加两个命令 按钮,在 “属性 ”面板中修改命令按钮 (Command1)的 Caption属性值为:统计;修改命令按钮 (Command2)的 Caption属性值为:退出。 双击 “退出 ”命令按钮 (Command2)编写 Click事件代码:THISFORM RELEASE。 (4)双击 “统计 ”命令按钮 (Command1
6、)编写 Click事件代码: SELECT * FROM 歌手表; WHERE 歌手出生地 =THISFORM COBO1 DISPLAYVALUE; INTO DBF birthplace 【试题解析】 本大题考查了表单控件的常用属性、事件和方法; SQL简单查询。 在表单设计器中,通过 “表单控件 ”工具栏可以向表单忝加控件,在 “属性 ”面板中可以修改表单及控件的属性值,另外,关闭和释放表单的方法是 RELEASE。 在 SQL简单查询中,需要注意的是筛选条件的设置,需要获得组合框中当前所显示的数据,可以通过组合框的 DISPLAYVALUE属性获得。 二、简单应用题( 40分) 2 【
7、正确答案】 (1)步骤 1:在命令窗口执行如下 SQL命令语句并执行: SELECT * FROM ORDER_LIST1 INTO ARRAY TEMPINSERT INTO ORDER LIST FROM ARRAY TEMP 步骤 2:在命令窗口执行如下 SQL命令语句并执行 (以下 SQL语句是通过查询设计器生成的 ): SELECT Customer客户号, Customer客户名,Order_list订单号,; Order_list总金额; FROM 订货管理 !order_list INNER JOIN customer; ON Order_list客户号 =Customer客户
8、号; ORDER BY Order_list总金额 DESC; INTO TABLE results dbf (2)步骤 1:在命令窗口执行命令: MODIFY FORM form1,打开表单设计器修改表单。 步骤 2:右击工具栏的空白区域,选择【布局】快捷菜单命令,打开表单的 “布局 ”工具栏 (如果表单设计器中没有显示该工具栏,则执行该操作 )。 步骤 3:同时选中表单中的 5个按钮,然后单击 “布局 ”工具栏中的 “左边对齐 ”按钮 (第 1个图标按钮 ), 如图 2-42和图 2-43所示。 步骤 4:在表单设计器中 5个按钮的右侧添加一个表格控件,在 “属性 ”面板的下拉框中选择表格
9、 grd1对象,在 “全部 ”选项卡中修改表格对象属性值,见表 2-19。步骤 5:单击 “常用 ”工具栏中的“保存 ”按钮保存表单。 【试题解析】 (1)本题考查了 SQL简单查询和联接查询。 要将 order_list1表中的全部记录追加到 order_list表中,可以分两步实现:先将order_list1表的所有记录查询出来保存在数组中,再通过该数组向 order_list表中插入所有记 录,这里会用到 SQL的 INSERTINTO语句。 题目中要求的 SQL SELECT查询语句是联接查询。对于掌握 SQL语句不熟练的考生来说,可以通过查询设计器生成 SQL语句。 (2)本题主要考
10、查了表单控件常用属性的设置; “布局 ”工具栏的使用。在表单设计器中,可以通过 “布局 ”工具栏方便地调整表单窗口中被选控件的相对大小和位置。 三、综合应用题( 30分) 3 【正确答案】 步骤 1:在命令窗口执行命令: CREATE FORM FORM,打开表单设计器新建表单。从 “表单工具栏 ”中依次向表单添加两 个命令按钮。 步骤 2:在“属性 ”面板的下拉框中选择表单对象,在 “全部 ”选项卡中修改对象属性值,见表 2-18。 步骤 3:双击命令按钮,编写各个命令按钮的 Click事件代码。各按钮代码如下: *“查询 ”按钮的 Cliok事件代码 * SELECT student学号,
11、 student姓名, AVG(成绩 ) AS 平均成绩, MIN(成绩 ) AS 最低分; FROM sdb!student INNER JOIN sdb!sc; ON student学号 =Sc学号; GROUP BY student 学号 HAVINGMIN(成绩 ) =60;ORDER BY student学号; INTO TABLE four dbf*“退出 ”按钮的 Click事件代码 * THISFOEM RELEASE 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 本题主要考查的是表单的建立、常用属性的设置和 SQL分组与计算查询。 对本题搡作时,首先建立表单及其表单控件,并修改对象的属性值,然后对命令按钮编写事件代码。 SQL分组与计算查询是对 student和 sc两表进行联接查询,通过 AVG和 MIN函数计算,根据题意,在进行分组时,需要先将学号相同的记录分到一组,然后同 having子句对每组中的成绩进行判断是否全部大于等于 60分,这样就可以找出满足条件的记录,通过 order by短语对查询结果排序,最后将结果保存到指定的表中。