1、国家二级 VF机试(操作题)模拟试卷 214及答案与解析 一、基本操作题 1 在考生文件夹下完成如下操作: (1)创建一个新的项目 “客户管理 ”。 (2)在新建立的项目 “客户管理 ”中创建数据库 “订货管理 ”。 (3)在 “订货管理 ”数据库中建立表 order_list,表结构如下: 客户号 字符型 (6) 订单号 字符型 (6) 订购日期 日期型 总金额 浮动型 (15, 2) (4)为 order_list表创建一个主索引,索引名和索引表达式均是 “订单号 ”。 二、简单应用题 2 (1)将 customerl表中的全部记录追加到 customer表中,然后用 SQL SELECT
2、语句完成查询:列出目前有订购单的客户信息 (即有对应的 order_list记录的 customer表中的记录 ),同时要求按 “客户号 ”升序排序,并将结果存储到 results表中 (表结构与customer表结构相同 )。 (2)打开并按如下要求修改 form1表单文件 (最后保存所做的修改 ): 在 “确定 ”命令按钮的 Click事件 (过程 )下的程序有两处错误,请改正。 设置 Text2控件的有关属性,使用户在输入口令时显示 “*”(星号 )。 三、综合应用题 3 设计一个文件名和表单名均为 rate的表单,表单的标题为 “外汇汇率查询 ”,表单界面如图 2 17所示,表单中有两
3、个下拉列表框 (Combo1和 Combo2),这两个下拉列表框的数据源类型 (RowSourceType属性 )均为字段,且数据源 (RowSource属性 )分别是外汇汇率表的 “币种 1”和 “币种 2”字段 (不要给出表名前缀 );另外有币种1(Label1)和币种 2(Label2)两个标签以及两个命令按钮 “查询 ”(Command1)和 “退出 ”(Command2)。运行表单时,首先从两个下拉列表框选择币种,然后单击 “查询 ”按钮用 SQL语句从外汇汇率表中查询相应币种 (匹配币种 1和币种 2)的信息,并将结果存储到表 temp_rate中。 单击 “退出 ”按钮关闭表单。
4、 要求:在 “币种 1”中选择“澳元 ”,在 “币种 2”中选择 “美元 ”,单击查询按钮生成 temp_rate表。国家二级 VF机试(操作题)模拟试卷 214答案与解析 一、基本操作题 1 【正确答案】 (1)在命令窗口执行命令: CREATE PROJECT客户管理,新建一个项目管理器。 (2)在项目管理器中,选中 “数据 ”选项卡内的 “数据库 ”项,然后单击“新建 ”按钮,在弹出的 “新建数据库 ”对话框中单击 “新建数据库 ”图标按钮,然后在弹出的 “创建 ”对话框的 “数据库名 ”框中输入 “订货管理 ”,单击 “保存 ”按钮新建一个数据库并打开数据设计器。 (3) 在数据库设计
5、器中右击鼠标,选择【新建表】快捷菜单命令,在弹出的 “新建表 ”对话框中单击 “新建表 ”图标按钮,然后在弹出的“创建 ”对话框的 “输入表名 ”框中输入 “order_list”,单击 “保存 ”按钮打开表设计器。 根据题意,在表设计器中逐行输 入每个字段的字段名,并设置字段类型和宽度,如图 3 50所示。然后单击 “确定 ”按钮,此时系统会弹出一个对话框询问 “现在输入数据记录吗 ?”,由于本题没有要求输入数据,单击 “否 ”按钮。(4)右击数据库设计器中的order_list表,选择【修改】快捷菜单命令,打开 order_list表设计器,在 “字段 ”选项卡中选中 “订单号 ”,在 “
6、索引 ”列中选择 “升序 ”,然后在 “索引 ”选项卡中修改 “索引类型 ”为主索引,建立 “订单号 ”字段的主索引,单击 “确定 ”按钮保存表结构修改。 【试题解析】 本大题考查了项目管理器的建立 及使用、数据库表的建立和索引的建立。 为项目添加数据库可以在项目设计器中进行。在表设计器的 “字段 ”选项卡中,可以通过选择 “排序 ”下拉框中的的 “升序 ”或 “降序 ”为指定的字段建立一个索引名与索引表达式相同的普通索引,如果要改变索引名或索引类型,则需要在 “索引 ”选项卡中进行修改。 二、简单应用题 2 【正确答案】 (1) 步骤 1:命令窗口执行: SELECT*FROM custom
7、er1 INTO ARRAY temp INSERT INTO customer FROM ARRAY temp 将 customer1表中的记录全部复制到 customer表中。 步骤 2:在命令窗口执行命令: SELECT DI STINCT CuStomer *; &DISTINCT短语的功能是消除查询结果中相同的记录 FROM订货管理 !customer INNER JOIN 订货管理 !order_list; ON Customer客户号: Order_list蓉户号; ORDER BY Customer客户号; INTO TABLE results dbf (2) 步骤 1:命令窗
8、口执行: MODIFY FORM form1,打开表单设计器修改表单。 步骤 2: “确定 ”按钮的 Click事件中代码如下: &功能:如果用户输入的用户名和口令一致,则 在提示信息后关闭该表单 &否则重新输入用户名和口令 1 *ERROR* IF THISFORM TEXT1=THISFORM TEXT2 2 WAIT”欢迎使用 ”WINDOW TIMEOUT 1 3 *ERROR* THISFORM CLOSE 4 ELSE 5 WAIT“用户名或口令不对,请重新输 入 “WINDOW TIMEOUT 1 6 ENDIF 修改后的代码如下: 1 IF THISFORM TEXT1 VAL
9、UE=THISFORM TEXT2 VALUE &原代码语句中缺少指定 VATUE属性 2 WAIT “欢迎使用 “WINDOW TIMEOUT 1 3 THISFORM RELEASE &关闭表单的短语是 RELEASE,而不是 CLOSE 4 ELSE 5 WAIT”用户名或口令不对,请重新输 入 ”WINDOW TIMEOUT 1 6 ENDIF 步骤 3:修改文本框 (TEXT2)控件 PasswordChar属性值为: *。 步骤 4:单击 “常用 ”工具栏中的 “运行 ”按钮查看结果,将表单文件保存到考生文件夹下。 【试题解析】 (1)本题考查 SQL联接查询。 Customer(
10、客户表 )和 Order list(订单表 )的联接条件为两个表中 “客户号 ”相等的记录,表示在 Customer表中的客户在Order list表中有订购记录;由于一个客户可能对应多条订购记录,需要使用DISTINCT短语消除结果中重复的记录。 排序用 ORDER BY,降序为 DESC,默认升序 (ASC),将查询结果保存到表中使用 INTO TABLE短语。还可以通过查询设计器中生 成 SQL代码。 (2)本题主要考查了表单属性及方法。文本框中显示的数据值可通过 Value属性获得,本题源程序中,第一处错误是缺少该属性。例如, “THISFORM TEXT1”只能表示表单中的一个控件。
11、第二处错误是对表单常用方法的考查。用来释放和关闭表单的方法是 Release,而并非 Close。 三、综合应用题 3 【正确答案】 步骤 1:命令窗口执行: OPEN DATABASE外汇,打开 “外汇 ”数据库。 步骤 2:命令窗口执行: CREATE FORM rate,打开表单设计器新建表单。 步骤 3:右击 表单选择【数据环境】打开表单数据环境,表单数据环境中右击选择【添加】,在 “添加表或视图 ”对话框中双击 “外汇汇率 ”表,将其添加到数据环境中。 步骤 4:从 “表单工具栏 ”中向表单添加两个标签、两个组合框和两个命令按钮。在 “属性 ”面板的下拉框中选择表单对象,在 “全部
12、”选项卡中修改对象属性值,见表 3一 18。 步骤 5:双击命令按钮,编写各个命令按钮的 Click事件代码如下: *“查询 ”按钮的 Click事件代码* 1 IF USED(“外汇代码 “) 2 SELECT外汇代码 3 ELSE 4 USE外汇 代码 5 ENDIF 6 LOCATE FOR 外币名称 =THISFORM COMB01 VALUE 7 MM1=外币代码 8 LOCATE FOR外币名称 =THISFORM COMB02 VALLUE 9 MM2=外币代码 lO SELECT*FROM RATE; 11 WHERE币种 1代码 =MM1 AND币种 2代码=MM2; 1 2
13、 INTO TABLE temp_rate *“退出 ”按钮的 Click事件代码 * THISFORM RELEASE 步骤 6:单击 “常用 ”工具栏中的 “运行 ”按 钮运行表单。在“币种 1”中选择 “澳元 ”,在 “币种 2”中选择 “美元 ”,单击 “查询 ”按钮生成 temp_rate表。 【试题解析】 本题主要考查了表单及控件的常用属性的设置; locate查找语句和SQL简单查询。 组合框控件用于设置数据源类型和数据源的属性是 RowSourceqType和ROWsource,将组合框设置为下拉列表框应将 style属性设置为 “2-下拉列表框 ”。在指定数据源为表或表中字段时,应首先把表添加到表单数据环境中;另外,通过组合框的 DisplayValue属性可以指定当前显示在组 合框中的数据。 通过 Locate查询在 “代码 ”表中查找下拉框中外币名称对应的外币代码,并分别保存到两个变量中,然后再通过 SQL查询语句进行查询。