1、国家二级 VF机试(操作题)模拟试卷 88及答案与解析 一、基本操作题 1 (1)新建一个不包含任何控件的空表单 myform.scx(表单名和表单文件名均为myform)。 (2)打开表单文件 formtwo.scx,将表单的标题设置为 “计算机等级考试 “。 (3)打开表单文件 formthree.scx,使用布局工具栏操作使表单上的 4个命令按钮按顶边水平对齐。 (4)打开表单文件 formfour.scx,设置相关属性使表单初始化时自动在 Visual FoxPro主窗口内居中显示。 二、简单应用题 2 (1)使用查询设计器设计完成:查询 “吴 “姓读者(客户第一个字为 “吴 “)订购
2、图书情况,查询结果包括客户名、订单号、图书名、单价、数量和签订日期字段的值,要求按客户名升序排序,并运行该查询将查询结果存储在表文件 appone中,查询文件也保存为 appone。 (2)使用 SQL语句查询每个读者订购图书的数量和金额(数量 *单价),查询结果包括客户名、订购总册数和金额,查询按金额降序排序,查询结果存储在apptwo.dbf表文件中,最后将 SQL语句保存在 apptwo.prg命令文件中。 三、综合应用题 3 在考生文 件下完成如下综合应用: (1)建立数据库 “订单管理 “; (2)将表 order、 goods和 orderitem添加到 “订单管理 “数据库中;
3、(3)在 “订单管理 “数据库中创建视图 orderview,该视图包含信息:客户名、订单号、图书名、数量、单价和金额(单价 *数量); (4)建立文件名和表单名均为 orderform的表单,在表单中添加表格控件 grid1(将RecordSourceType属性设置为 “表 “)和命令按钮 “退出 “( command1); (5)在表单的 load事件中使用 SQL语句从视图 orderview中按客户名升序、金额降序查询数量为 1的客户名、图书名和金额信息,并将结果存储到表文件 result.dbf中; (6)在表单运行时使得控件 grid1中能够显示表 result.dbf中的内容(
4、在相应的事件中将 grid1的 recordsource属性指定为 result.dbf); (7)单击 “退出 “命令按钮时释放并关闭表单。 完成以上所有功能后运行表单 orderform。 国家二级 VF机试(操作题)模拟试卷 88答案与解析 一、基本操作题 1 【正确答案】 【操作步骤】 (1)单击工具栏上的 “新建 “按钮,在 “新建 “对话框中选择 “表单 “单选按钮,再单击“新建文件 “按钮,在 “属性 “对话框中将表单的 Name属性修改为 myform,单击工具栏中的 “保存 “按钮,将表单保存为 myform.scx。 (2)单击工具栏中的 “打开 “按钮,在 “打开 “对话
5、框中选择 formtwo.scx,单击 “确定 “按钮,然后将表单的 Caption属性修改为 “计算机等级考试 “,再单击 “保存 “按钮。 (3)单击工具栏中的 “打开 “按钮,在 “打开 “对话框中选择 formthree.scx,单击 “确定“按钮。选择 “显示 “菜单下的 “布 局工具栏 “命令,将 “布局 “工具栏显示出来。选中表单上的 4个命令按钮,单击布局工具栏上的 “顶边对齐 “按钮,再单击 “保存 “按钮。 (4)单击工具栏中的 “打开 “按钮,在 “打开 “对话框中选择 formfour.scx,单击 “确定“按钮,然后将表单的 AutoCenter属性值设置为 “.T.
6、-真 “,再单击 “保存 “按钮。 二、简单应用题 2 【正确答案】 (1)【操作步骤】 步骤一:单击工具栏中的 “新建 “按钮,在 “新建 “对话框中选择 “查询 “单选按钮,再单击 “新建文件 “按钮。在查询设计器中右击,在弹出的快捷菜 单中选择 “添加表 “命令,在 “打开 “对话框中依次将 order、 orderitem和 goods表添加到查询中,并设置三表间的联系。 步骤二:在 “字段 “选项卡中依次将 “Order.客户名 “、 “Order.订单号 “、 “Goods.图书名“、 “Goods.单价 “、 “Orderitem.数量 “、 “Order.签订日期 “添加到选定
7、字段;切换到 “筛选 “选项卡,在 “字段名 “中选择 “Order.客户名 “, “条件 “选择 “=“, “实例 “中输入:吴;切换到 “排序依据 “选项卡并在其中选择字段 “Order.客户名 “,排序选项为 “升序“。 步骤三:单击 “查询 “菜单下的 “查询去向 “命令,在 “查询 “去向对话框中选择 “表 “,在 “表名 “文本框框中输入表名 appone。 步骤四:单击工具栏中的 “保存 “按钮,在 “另存为 “对话框中输入 appone。最后运行该查询。 (2)【操作步骤】 步骤一:在命令窗口中输入如下语句: SELECT Order.客户名 , sum(orderitem.数
8、量 ) as 订购总册数 ,; sum(orderitem.数量 * Goods.单价 ) as 金额 ; FROM goods INNER JOIN orderitem INNER JOIN order ; ON Orderitem.订单号 = Order.订单号 ; ON Goods.图书号 = Orderitem.图书号 ; GROUP BY Order.客户名 ; ORDER BY 金额 DESC ; INTO TABLE apptwo.dbf 步骤二:运行该 SQL语句,然后将此语句保存在 apptwo.prg文 件中。 三、综合应用题 3 【正确答案】 【操作步骤】 步骤一:单击工
9、具栏中的 “新建 “按钮,在 “新建 “对话框中选择 “数据库 “单选按钮,再单击 “新建文件 “按钮。在 “创建 “对话框中输入 “订单管理 “,单击 “保存 “按钮。 步骤二:在数据库设计器中右击,在弹出的快捷菜单中选择 “添加表 “命令,在 “打开 “对话框中依次将 order、 goods和 orderitem表添加到数据库中。 步骤三:在命令窗口中输入 create VIEW命令打开视图设计器,在 “添加表或视图 “对话框中依次添加 order、 orderitem和 goods表,并设置三表间的联系;在视图设计器的 “字段 “选项卡中将 order.客户名、 order.订单号、
10、goods.图书名、 orderitem.数量、 goods.单价 5个字段添加到选定字段,再在 “函数和表达式 “文本框中输入:goods.单价 * orderitem.数量 AS 金额,单击 “添加 “按钮。单击工具栏中的 “保存 “按钮,将视图保存为 orderview。 步骤四:在命令窗口输入命令: CREATE FORM orderform,打开表单设计器,将表单的 Name属性修改为 orderform。 步骤五:在表单上添加一个表格和一个命令按钮控件,并进行适当的布置和大小调整。将表格的 RecordSourceType属性设置为 “0-表 “,命令按钮的 Caption属性设置为 “退出 “。 步骤六:在表单的 load事件代码中输入: select 客户名 ,图书名 ,金额 from orderview where 数量 =1 ; order by 客户名 ,金额 desc into table result.dbf 步骤七:在表格的 activatecell事件代码中输入: thisform.Grid1.recordsource=“result.dbf“ 步骤八:设置 “退出 “按钮的 Click事件代码: THISFORM.RELEASE 步骤九:单击工具栏中的 “保存 “按钮,保存表单并运行。