1、二级 VISUAL+FOXPRO 机试-144 及答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操作题(总题数:1,分数:30.00)1.(1)将数据库 stu 添加到项目 my 中。(2)修改表单 for,将其中标签的字体大小修改为 20。(3)把表单 for 添加到项目 my 中。(4)为数据库 stu 中的表“学生”建立惟一索引,索引名称为 tel,索引表达式为“电话”。(考生文件夹下载)(分数:30.00)_二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)将 customer1 表中的全部记录追加到 customer 表中,
2、然后用 SQL SELECT 语句完成查询:列出目前有订购单的客户信息(即有对应的 order_list 记录的 customer 表中的记录),同时要求按客户号升序排序,并将结果存储到 results 表中(表结构与 customer 表结构相同)。(2)打开并按如下要求修改 form1 表单文件(最后保存所做的修改 s):在“确定”命令按钮的 Click 事件(过程)下的程序有两处错误,请改正之;设置 Text2 控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:40.00)_三、三 综合应用题(总题数:1,分数:30.00)3.使用报表设计器建立一个报表,具体要求如下:报表的
3、内容(细节带区)是 order_list 表的订单号、订购日期和总金额。增加数据分组,分组表达式是“order_list.客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。增加标题带区,标题是“订单分组汇总表(按客户)”,要求是 3 号字、黑体,括号是全角符号。增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1.frx 文件。提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:30.00)_二级 VISUAL+FOXPRO 机试-144 答案解析(总分:100.00,做题时间:90 分钟)一、一 基本操
4、作题(总题数:1,分数:30.00)1.(1)将数据库 stu 添加到项目 my 中。(2)修改表单 for,将其中标签的字体大小修改为 20。(3)把表单 for 添加到项目 my 中。(4)为数据库 stu 中的表“学生”建立惟一索引,索引名称为 tel,索引表达式为“电话”。(考生文件夹下载)(分数:30.00)_正确答案:(从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的项目文件 my.pjx。在项目管理器 my 中,首先在“数据”选项卡中选择“数据库”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹
5、中的数据库stu 添加到项目管理器中,单击“确定”按钮。(2)从菜单栏里单击“文件”并选择“打开”,或直接单击工具栏上的“打开”图标,在弹出的对话框中选择要打开的表单文件 for.scx。单击表单上的标签控件,在其属性窗口中,把 FontSize 的属性值改为“20”。单击工具栏上的“保存”图标,将更改保存。(3)在项目管理器 my 中,首先在“文档”选项卡中选择“表单”,然后单击选项卡右边的“添加”命令按钮,在系统弹出的“打开”对话框中,将考生文件夹中的表单 for.scx 添加到项目管理器中,单击“确定”按钮。(4)在命令窗口输入命令:MODIFY STRUCTURE,在弹出的对话框中选择
6、“学生”表,进入“学生”的数据表设计器界面,然后单击“索引”选项卡,此选项卡中的“索引名”和“索引表达式”分别改为 tel 和“电话”,在“索引类型”的下拉框中,选择“惟一索引”。单击“确定”按钮,保存数据表修改。)解析:解析 本大题主要考查数据库的添加、表单属性的更改,添加表单以及建立索引。数据库添加可以通过项目管理器中的命令按钮,建立索引表可以在数据表设计器中完成。值得注意的是考生应该熟悉表单各控件的各个属性。答案考生文件夹二、二 简单应用题(总题数:1,分数:40.00)2.在考生文件夹下完成如下简单应用:(1)将 customer1 表中的全部记录追加到 customer 表中,然后用
7、 SQL SELECT 语句完成查询:列出目前有订购单的客户信息(即有对应的 order_list 记录的 customer 表中的记录),同时要求按客户号升序排序,并将结果存储到 results 表中(表结构与 customer 表结构相同)。(2)打开并按如下要求修改 form1 表单文件(最后保存所做的修改 s):在“确定”命令按钮的 Click 事件(过程)下的程序有两处错误,请改正之;设置 Text2 控件的有关属性,使用户在输入口令时显示“*”(星号)。(分数:40.00)_正确答案:(1)在命令窗口输入命令:MODIFY COMMAND query1,在程序文件编辑器窗口中输入如
8、下程序段:*文件 query1.prg 的中程序段*SET TALK OFFCLOSE ALLUSE customerZAPUSE eustomer1DO WHILE !EOF()SCATTER TO arr1INSERT INTO customer FROM ARRAY arr1SKIPENDDOSELECT DISTINCT customer.*;FROM 订货管理!customer INNER JOIN 订货管理!order_list;ON customer.客户号=order_list.客户号;ORDER BY customer.客户号;INTO TABLE results.dbf*在
9、命令窗口输入命令:DO query1,程序将查询结果自动保存到新表 results 中。(2)在命令窗口输入命令:MODIFY FORM form1,打开表单 form1.scx。双击表单中的“确定”命令按钮,进入命令按钮的事件编辑窗口,在 Click 事件中的程序段如下:*“确定”命令按钮 Click 事件的源程序*&功能:如果用户输入的用户名和口令一致,则在提示信息后关闭该表单;&否则重新输入用户名和口令。If Thisform.Text1=Thisform.Text2 &*Error*WAIT“欢迎使用”WINDOW TIMEOUT/1Thisform.Close &*Error*Els
10、eWAIT“用户名或口令不对,请重新输入”WINDOW TIMEOUT1Endif*修改程序中的错误,正确的程序如下;*“确定”命令按钮 Click 事件修改后的程序*If Thisform.Text1.Text=Thisform.Text2.Text & 缺少属性 TextWAIT“欢迎使用”WINDOW TIMEOUT1Thisform.Release & 语法错误,关闭表单应该为 ReleaseElseWAIT“用户名或口令不对,请重新输入”WINDOW TIMEOUT1Endif*选中表单中的第二个文本框控件(Text2),在属性面板中修改该控件的 PassWordChar 属性值为“
11、*”,如图 3-54 示,保存修改结果。)解析:解析 本大题 1 小题考查了 SQL 的基本查询语句,在此处需要注意的是当表建立了主索引或候选索引时,向表中追加记录必须用 SQL 的插入语句,而不能使用 APPEND 语句,为避免出现重复记录,可加入短语 DISTINCT;2 小题表单控件的程序改错中,应注意常用属性和方法的设置,例如关闭表单控件不是通过 CLOSE,而是利用 Release,对于文本框控件的属性,比较重要的一个文本输出属性为PasswordChar,控制输出显示的字符。三、三 综合应用题(总题数:1,分数:30.00)3.使用报表设计器建立一个报表,具体要求如下:报表的内容(
12、细节带区)是 order_list 表的订单号、订购日期和总金额。增加数据分组,分组表达式是“order_list.客户号”,组标头带区的内容是“客户号”,组注脚带区的内容是该组订单的“总金额”合计。增加标题带区,标题是“订单分组汇总表(按客户)”,要求是 3 号字、黑体,括号是全角符号。增加总结带区,该带区的内容是所有订单的总金额合计。最后将建立的报表文件保存为 report1.frx 文件。提示:在考试的过程中可以使用“显示预览”菜单查看报表的效果。(分数:30.00)_正确答案:(首先打开表设计器,为 order_list 表按“客户号”字段建立一个普通索引。在命令窗口输入命令:CREA
13、TE REPORT report1,打开报表设计器。右击报表空白区,选择快捷菜单命令“数据环境”,在数据环境设计器中,将数据表 order_list 添加到数据环境中,如图 3-55 所示。然后将数据环境中 order_list 表中的订单号、订购日期和总金额 3 个字段依次拖放到报表的细节带区,如图 3-56 所示。选择菜单命令“报表”“数据分组”,系统弹出“数据分组”对话框,在对话框中输入分组表达式“order_list.客户号”,关闭对话框回到报表设计器,可以看到报表设计器中多了两个带区:组标头和组注脚带区,在数据环境中,将 order_ list 表中的“客户号”字段拖放到组标头带区,
14、并在报表控件栏中单击“标签”按钮,添加一个标签“客户号”,以同样的方法为组注脚带区增加一个“总金额”标签,并将“总金额”字段拖放到该带区,如图 3-57 所示。双击域控件“总金额”,系统弹出“报表表达式”对话框,在对话框中单击命令按钮“计算”,在弹出的对话框中选择“总和”单选项,关闭对话框,回到报表设计器。选择菜单命令“报表”“标题/总结”,弹出“标题/总结”对话框,在对话框中勾选“标题带区”和“总结带区”复选框,为报表增加一个标题带区和一个总结带区;然后设置标签字体,选择菜单命令“报表”“默认字体”,在弹出的“字体”对话框中,根据题意设置 3 号黑体字,接着通过“报表控件”工具栏,为总结带区
15、添加一个标签“订单分组汇总表(按客户)”;最后在总结带区添加一个标签“总金额”,再添加一个域控件,在弹出的“报表表达式”中为域控件设置表达式为“order_ list总金额”,在“格式”对话框中选择“数值型”单选项,如图 3-58 所示。单击命令按钮“计算”,在弹出的对话框中选择“总和”单选项,关闭对话框,回到报表设计器。保存报表,利用常用工具栏中的“预览”按钮,可预览报表效果。)解析:解析 本大题考查的主要是利用报表设计器完成报表的设计,本题涉及到报表分组、标题/总结的设计,以及字体的设计,这些都可以通过“报表”菜单中的命令来相应的完成,其他注意的地方是数据表和字段的拖动,以及域控件表达式的设置。