1、国家二级 VF机试-试卷 233及答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_2.(1)将考生文件夹下的自由表“商品”添加到数据库“客户”中。(2)将表“定货”的记录拷贝到表“货物”中。(3)对数据库“客户”下的表 cu,使用报表向导建立报表 my,要求显示表 cu中的全部记录,五分组,报表样式使用“经营式”,列数为 2,方向为“纵向”,按“订单编号”排序,报表标题为“定货浏览”。(4)对数据库客户下的表“定货”和“客户联系”,使用视图向导建立视图“视图浏览”,要求显示出“定货”表中的字段“订单编号”、“客
2、户编号”、“金额”和“客户联系”表中的字段“客户名称”,并按“金额”排序(升序)。(分数:2.00)_二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_4.在考生文件夹下完成如下简单应用: (1)将 customer1表中的全部记录追加到 customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的 order_list记录的 customer表中的记录),同时要求按客户号升序排序,并将结果存储到 results表中(表结构与 customer表结构相同)。 (2)打开并按如下要求修改 form1表单文件(最后保存所做的修
3、改 s): 在“确定”命令按钮的 Click事件(过程)下的程序有两处错误,请改正之; 设置 Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:2.00)_三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_6.考生文件夹下有“定货”表和“客户”表,设计一个文件名为 myf的表单,表单中有两个命令按钮,按钮的标题分别为“计算”和“关闭”。 程序运行时,单击“计算”按钮应完成下列操作: 计算“客户”表中每个订单的“总金额”(总金额为“定货”中订单好相同的所有记录的“单价*数量”的总和)。 根据上面的计算结果,生成一个新的自由表 newt,该表只
4、包括“客户号”、“订单号”和“总金额”项,并按客户号升序排序。 单击“关闭”按钮,程序终止运行。(分数:2.00)_国家二级 VF机试-试卷 233答案解析(总分:12.00,做题时间:90 分钟)一、基本操作题(总题数:2,分数:4.00)1.基本操作题()(分数:2.00)_解析:2.(1)将考生文件夹下的自由表“商品”添加到数据库“客户”中。(2)将表“定货”的记录拷贝到表“货物”中。(3)对数据库“客户”下的表 cu,使用报表向导建立报表 my,要求显示表 cu中的全部记录,五分组,报表样式使用“经营式”,列数为 2,方向为“纵向”,按“订单编号”排序,报表标题为“定货浏览”。(4)对
5、数据库客户下的表“定货”和“客户联系”,使用视图向导建立视图“视图浏览”,要求显示出“定货”表中的字段“订单编号”、“客户编号”、“金额”和“客户联系”表中的字段“客户名称”,并按“金额”排序(升序)。(分数:2.00)_正确答案:(正确答案:(1)从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的数据库文件“客户”。右键单击数据库设计器,选择“添加表”快捷菜单命令,系统弹出“打开”对话框,将考生文件夹下的自由表“商品”添加到数据库“客户”中。 (2)在命令窗口中输入命令:SELECT*FROM 定货 INTO TABLE货物,按下回车键运行即
6、可把表“定货”中的记录拷贝到表“货物”中。 (3)在“工具”菜单选择“向导”“报表”菜单命令,出现“向导选取”对话框,根据题意数据源是一个表,因此选定“报表向导”,单击“确定”。 步骤一:在弹出的对话框中“数据库和表”选项选择“客户”数据库中的 cu表,并把全部的“可用字段”选为“选定字段”。 步骤二:选取默认值。 步骤三:选择“经营式”样式。 步骤四:报表布局列数选择“2”列,方向为“纵向”。 步骤五:在“可用的字段或索引标识”中选择“订单编号”,把它添加到“选定字段”中。 步骤六:把报表标题改为“定货浏览”,可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。 并
7、以文件名为 my保存在考生文件夹里。 (4)从菜单栏里单击“文件”并选择“新建”,或直接单击工具栏上的“新建”图标,在弹出的对话框文件类型中选择“视图”选项,并单击对话框右边的“向导”按钮。 步骤一:在弹出的对话框中“数据库和表”选项选择“客户”数据库中的“定货”表,把“订单编号”、“客户编号”和“金额”的“可用字段”选为“选定字段”,把“客户联系”表中“客户名称”的“可用字段”选为“选定字段”。 步骤二:在“为表建立联系”中添加“定货”表的“客户编号”和“客户联系”的“客户编号” 步骤三:选取默认值。 步骤四:在“排序记录”中,把“可用字段”中的“金额”选中为“选定字段”并选择升序排列。 步
8、骤五:可以在单击“完成”之前单击“预览”按钮来预览生成的报表,最后单击“完成”按钮。把视图名称改为“视图浏览”,保存。)解析:解析:本大题主要考查数据表的添加、数据表的复制,利用向导生成报表和视图。数据表的添加可在数据设计器中完成。数据表的复制利用 SQL语言可实现。利用向导可轻松地完成报表和视图的建立。二、简单应用题(总题数:2,分数:4.00)3.简单应用题()(分数:2.00)_解析:4.在考生文件夹下完成如下简单应用: (1)将 customer1表中的全部记录追加到 customer表中,然后用SQL SELECT语句完成查询:列出目前有订购单的客户信息(即有对应的 order_li
9、st记录的 customer表中的记录),同时要求按客户号升序排序,并将结果存储到 results表中(表结构与 customer表结构相同)。 (2)打开并按如下要求修改 form1表单文件(最后保存所做的修改 s): 在“确定”命令按钮的 Click事件(过程)下的程序有两处错误,请改正之; 设置 Text2控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:2.00)_正确答案:(正确答案:在命令窗口输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口中输入如下程序段: *文件 query1.prg的中程序段* SET TALK OFF CLOSE ALL
10、 USE customer ZAP USE eustomer1 DO WHILE !EOF() SCATTER TO arr1 INSERT INTO customer FROM ARRAY arr1 SKIP ENDDO SELECT DISTINCT customer.*; FROM 订货管理!customer INNER JOIN 订货管理!order list; ON customer.客户号=order list.客户号; ORDER BY customer.客户号; INTO TABLE results.dbf * 在命令窗口输入命令:DO query1,程序将查询结果自动保存到新
11、表 results中。 (2)在命令窗口输入命令:MODIFY FORM form1,打开表单 form1.scx。 双击表单中的“确定”命令按钮,进入命令按钮的事件编辑窗口,在 Click事件中的程序段如下: *“确定”命令按钮 Click事件的源程序* &功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单; &否则重新输入用户名和口令。 If Thisform.Text1=Thisform.Text2 &*Error* WAIT“欢迎使用”WINDOW TIMEOUT/1 Thisform.Close &*Error* Else WAIT“用户名或口令不对,请重新输入”WIND
12、OW TIMEOUT1 Endif * 修改程序中的错误,正确的程序如下;*“确定”命令按钮 Click事件修改后的程序* If Thisform.Text1.Text=Thisform.Text2.Text &缺少属性 Text WAIT“欢迎使用”WINDOW TIMEOUT1 Thisform.Release .& 语法错误,关闭表单应该为 Release Else WAIT“用户名或口令不对,请重新输入”WINDOW TIMEOUT1 Endif * 选中表单中的第二个文本框控件(Text2),在属性面板中修改该控件的 PassWordChar属性值为“*”,如图 3-54示,保存修改
13、结果。 )解析:解析:本大题 1小题考查了 SQL的基本查询语句,在此处需要注意的是当表建立了主索引或候选索引时,向表中追加记录必须用 SQL的插入语句,而不能使用 APPEND语句,为避免出现重复记录,可加入短语 DISTINCT;2 小题表单控件的程序改错中,应注意常用属性和方法的设置,例如关闭表单控件不是通过 CLOSE,而是利用 Release,对于文本框控件的属性,比较重要的一个文本输出属性为 PasswordChar,控制输出显示的字符。三、综合应用题(总题数:2,分数:4.00)5.综合应用题()(分数:2.00)_解析:6.考生文件夹下有“定货”表和“客户”表,设计一个文件名为
14、 myf的表单,表单中有两个命令按钮,按钮的标题分别为“计算”和“关闭”。 程序运行时,单击“计算”按钮应完成下列操作: 计算“客户”表中每个订单的“总金额”(总金额为“定货”中订单好相同的所有记录的“单价*数量”的总和)。 根据上面的计算结果,生成一个新的自由表 newt,该表只包括“客户号”、“订单号”和“总金额”项,并按客户号升序排序。 单击“关闭”按钮,程序终止运行。(分数:2.00)_正确答案:(正确答案:在命令窗口中输入命令:CREATE FORM myf,打开表单设计器,通过“表单控件”工具栏向表单添加两个命令按钮。在属性面板中修改两个命令按钮控件的 Caption属性值分别为“
15、计算”和“关闭”。 双击命令按钮“计算”,编写该控件的 Click事件,程序代码如下: *命令按钮Command1(计算)的 Click事件代码* SELECT 客户号,定货.订单号,SUM(单价,数量)AS 总金额; FROM 客户,定货; WHERE 客户.订单号=定货.订单号; ORDER BY 客户号; G1LOUP BY 定货.订单号; INTO TABLE newt * 以同样的方法为“关闭”命令按钮编写 Click事件代码:Thisform.Release。 保存表单完成设计。运行表单,查询结果如图 3-53所示。 )解析:解析:本大题考查的是表单设计,在设计控件属性中,不要将控件的标题和名称属性弄混淆,名称属性是该控件的一个内部名称,而标题属性是用来显示的一个标签名称。程序部分属于 SQL的简单联接查询。