全国计算二级VFP考试操作题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作题单项训练
01套(基础,2011.3; 2012.3)
基本操作:
1.在考生文件夹下新建一个名为"供应"的项目文件。

2.将数据库"供应零件"加入到新建的"供应"项目中。

3.通过"零件号"字段为"零件"表和"供应"表建立永久性联系,其中,"零件"是父表,"供应"是子表。

4.为"供应"表的"数量"字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是"数量超范围"。

(注意:规则表达式必须是"数量>0.and.数量<9999")
简单应用:
在考生文件夹下完成如下简单应用:
1.用SQL语句完成下列操作:列出所有与"红"颜色零件相关的信息(供应商号,工程号和数量),并将查询结果按数量降序存放于表supply_temp中。

2.新建一个名为menu_quick的快捷菜单,菜单中有两个菜单项"查询"和"修改"。

并在表单myform的RightClick事件中调用快捷菜单menu_quick。

综合应用:
设计一个名为mysupply的表单,表单的控件名和文件名均为mysupply。

表单的形式如下图所示。

表单标题为"零件供应情况",表格控件为Grid1,命令按钮"查询"为Command1、"退出"为Command2,标签控件Label1 和文本框控件Text1(程序运行时用于输入工程号)。

运行表单时,在文本框中输入工程号,单击"查询"命令按钮后,表格控件中显示相应工程所使用的零件的零件名、颜色和重量(通过设置有关"数据"属性实现),并将结果按"零件名"升序排序存储到pp.dbf文件。

单击"退出"按钮关闭表单。

完成表单设计后运行表单,并查询工程号为"J4"的相应信息。

02套(基础,2010.9)
基本操作:
1.在考生文件夹下建立数据库BOOKAUTH.DBC,把表BOOKS和AUTHORS添加到该数据库中。

2.为AUTHORS表建立主索引,索引名为"PK",索引表达式为"作者编号"。

3.为BOOKS表建立两个普通索引,第一个索引名为"PK",索引表达式为"图书编号";第二个索引名和索引表达式均为"作者编号"。

4.建立AUTHORS表和BOOKS表之间的永久联系。

简单应用:
在考生文件夹下完成如下简单应用:
1.打开表单MYFORM4-4,把表单(名称为Form1)标题改为"欢迎您",将文本"欢迎您访问系统"(名称为Label1的标签)改为25号黑体。

最后在表单上添加"关闭"(名称为Command1)命令按钮,单击此按钮关闭表单。

保存并运行表单。

2.设计一个表单MYFORM4,表单中有两个命令按钮"查询"和"退出"(名称为Command1和Command2)。

(1)单击"查询"命令按钮,查询BOOKAUTH数据库中出版过3本以上(含3本)图书的作者信息,查询信息包括作者姓名和所在城市;查询结果按作者姓名升序保存在表NEW_VIEW4中。

(2)单击"退出"命令按扭关闭表单。

注意:完成表单设计后要运行表单的所有功能。

综合应用:
(1)在考生文件夹下,将BOOKS表中所有书名中含有"计算机"3个字的图书复制到BOOKS_BAK表中,以下操作均在BOOKS_BAK表中完成;
(2)复制后的图书价格在原价格的基础上降低5%;
(3)从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称及均价,查询结果保存在new_table4表中(字段名为出版单位和均价)。

03套(基础,2010.9; 2011.3; 2011.9)
基本操作:
1.在考生文件夹下新建一个名为"库存管理"的项目文件。

2.在新建的项目中建立一个名为"使用零件情况"的数据库,并将考生文件夹下的所有自由表添加到该数据库中。

3.修改"零件信息"表的结构,为其增加一个字段,字段名为"规格",类型为字符型,长度为8。

4.打开并修改mymenu菜单文件,为菜单项"查找"设置快捷键Ctrl+T。

简单应用:
在考生文件夹下完成如下简单应用。

1.用SQL语句完成下列操作:查询项目的项目号、项目名和项目使用的零件号、零件名称,查询结果按项目号降序、零件号升序排序,并存放于表item_temp中,同时将使用的SQL语句存储于新建的文本文件item.txt中。

2.根据零件信息、使用零件和项目信息3个表,利用视图设计器建立一个视图view_item,该视图的属性列由项目号、项目名、零件名称、单价和数量组成,记录按项目号升序排序,筛选条件是:项目号为"s2"。

综合应用:
设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。

表单的标题设为"使用零件情况统计"。

表单中有一个组合框(Combo1)、一个文本框(Text1)和两个命令按钮"统计"(Command1)和"退出"(Command2)。

运行表单时,组合框中有3个条目"s1"、"s2"和"s3"(只有3个,不能输入新的,
RowSourceType的属性为"数组",Style的属性为"下拉列表框")可供选择,单击"统计"命令按钮后,则文本框显示出该项目所使用零件的金额合计(某种零件的金额=单价*数量)。

单击"退出"按钮关闭表单。

注意:完成表单设计后要运行表单的所有功能。

04套(基础,2010.9; 2011.3; 2011.9; 2012.3; 2012.9)
基本操作:
1.在考生文件夹下打开数据库"订单管理",然后删除其中的customer表(从磁盘中删除)。

2.为employee表建立一个按升序排列的普通索引,索引名为xb,索引表达式为"性别"。

3.为employee表建立一个按升序排列的普通索引,索引名为xyz,索引表达式为"str(组别,1)+职务"。

4.为employee表建立一个主索引,为orders建立一个普通索引,索引名和索引表达式均为"职员号"。

通过"职员号"为employee表和orders表建立一个一对多的永久联系。

简单应用:
1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框,如下图所示。

按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。

(1)将orders表和employee表依次添加到该表单的数据环境中(不要修改两个表对应对象的各属性值)。

(2)将组合框设置成"下拉列表框",将employee表中的"姓名"字段作为下拉列表框条目的数据源。

其中,组合框的RowSourceType属性值应设置为:6-字段。

(3)将Text1设置为只读文本框。

(4)修改组合框的InteractiveChange事件代码,当用户从组合框选择职员时,能够将该职员所签订单平均金额自动显示在文本框里。

2.利用查询设计器创建查询,从employee和orders表中查询"组别"为1的组各职员所签的所有订单信息。

查询结果依次包含"订单号"、"金额"和"签订者"3项内容,其中"签订者"为签订订单的职员姓名。

按"金额"降序排列各记录,查询去向为表tableone。

最后将查询保存在queryone.qpr文件中,并运行该查询。

综合应用:
在考生文件夹下创建一个名为mymenu.mnx的下拉式菜单,并生成菜单程序mymenu.mpr。

运行该菜单程序时会在当前Visual FoxPro系统菜单的"帮助"子菜单之前插入一个"考试"子菜单,如下图所示。

"统计"和"返回"菜单命令的功能都通过执行"过程"完成。

"统计"菜单命令的功能是以组为单位求"订单金额"的和。

统计结果包含"组别"、"负责人"和"合计"3项内容,其中"负责人"为该组组长(取自employee中的"职务"字段)的姓名,"合计"为该组所有职员所签订单的金额总和。

统计结果按"合计"降序排序,并存放在tabletwo 表中。

"返回"菜单命令的功能是返回Visual FoxPro的系统菜单。

菜单程序生成后,运行菜单程序并依次执行"统计"和"返回"菜单命令。

05套(基础,2010.9以前)
基本操作:
1.在考生文件夹下新建一个名为"图书管理"的项目文件。

2.在项目中新建一个名为"图书"的数据库。

3.将考生文件夹下的所有自由表添加到"图书"数据库中。

4.在项目中建立查询book_qu,其功能是查询价格大于等于10的图书(book表)的所有信息,查询结果按价格降序排序。

简单应用:
1.用SQL语句完成下列操作:检索"田亮"所借图书的书名、作者和价格,结果按价格降序存入book_temp表中。

2.在考生文件夹下有一个名为menu_lin的下拉式菜单,请设计一个名为form_menu的顶层表单,将菜单menu_lin加入到该表单中,使得运行表单时菜单显示在该表单中,并且,表单退出时释放菜单。

综合应用:
设计一个名为form_book的表单,表单的控件名为form1,文件名为form_book,表单的标题为"图书情况统计"。

表单中有一个组合框(名称为Combo1)、一个文本框(名称为Text1)和两个命令按钮"统计"和"退出"(名称为Command1和Command2)。

运行表单时,组合框中有3个条目"清华"、"北航"、"科学"(只有3个出版社名称,不能输入新的)可供选择,在组合框中选择出版社名称后,如果单击"统计"命令按钮,则文本框显示出"book"表中该出版社图书的总数。

单击"退出"按钮关闭表单。

注意:完成表单设计后要运行表单的所有功能。

06套(基础,2010.9;2011.3;2011.9;2012.3;2012.9)
基本操作:
在考生文件夹下完成如下基本操作:
1.通过SQL INSERT语句插入元组("p7","PN7",1020)到"零件信息"表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。

2.通过SQL DELETE语句从"零件信息"表中删除单价小于600的所有记录,并将相应的SQL语句存储在文件two.prg中。

3.通过SQL UPDA TE语句将"零件信息"表中零件号为"p4"的零件的单价更改为1090,并将相应的SQL语句存储在文件Three.prg中。

4.打开菜单文件mymenu.mnx,然后生成可执行的菜单程序mymenu.mpr。

简单应用:
在考生文件夹下完成如下简单应用:
1.modi1.prg程序文件中SQL SELECT语句的功能是查询目前用于3个项目的零件(零件名称),并将结果按升序存入文本文件results.txt中。

给出的SQL SELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不得增、删语句或短语,也不得改变语句行)。

2.在考生文件夹下创建一个表单,表单名和表单文件名均为formone.scx,如下图所示,其中包含一个标签(Label1)、一个文本框(Text1)和一个命令按钮(Command1)。

然后按相关要求完成相应操作。

(1)如图所示设置表单、标签和命令按钮的Caption属性。

(2)设置"确定"按钮的Click事件代码,使得表单运行时单击该按钮能够完成如下功能:从"项目信息"、"零件信息"和"使用零件"表中查询指定项目所使用零件的详细信息,查询结果依次包含零件号、零件名称、数量、单价四项内容,各记录按零件号升序排序,并将检查结果存放在以项目号为文件名的表中,如指定项目号s1,则生成文件s1.dbf。

最后执行表单,并依次查询项目s1和s3所用零件的详细信息。

综合应用:
按如下要求完成综合应用(所有控件的属性必须在表单设计器的属性窗口中设置):
(1)根据"项目信息"、"零件信息"和"使用零件"3个表建立一个查询(注意表之间的连接字段),该查询包括项目号、项目名、零件名称和数量4个字段,并要求先按项目号升序排列,项目号相同的再按零件名称降序排列,查询去向为表three,保存的查询文件名为chaxun。

(2)建立一个表单名和文件名均为myform的表单,表单中含有一个表格控件Grid1,该表格控件的数据源是前面建立的查询chaxun;然后在表格控件下面添加一个"退出"命令按钮Command1,要求命令按钮与表格控件左对齐、并且宽度相同,单击该按钮时关闭表单。

07套(基础,2010.9;2011.3;2011.9;2012.3;2012.9)
基本操作:
1.在考生文件夹下创建一个名为"订单管理"的数据库,将已有的employee、orders和customer三个表添加到该数据库中。

2.为orders表建立一个普通索引,索引名为nf,索引表达式为"year(签订日期)"。

3.为employee表建立一个主索引,为orders建立一个普通索引,索引名和索引表达式均为"职员号"。

通过"职员号"为employee表和orders表建立一个一对多的永久联系。

4.为上述建立的联系设置参照完成性约束:更新规则为"限制",删除规则为"级联",插入规则为"限制"。

简单应用:
1.在考生文件夹下存在表单文件formone.scx,其中包含一个列表框、一个表格和一个命令按钮,如下图所示。

按要求完成相应的操作:
(1)将orders表添加到表单的数据环境中。

(2)将列表框List1设置成多选,并将其RowSourceType属性值设置为"8-结构"、RowSource属性值设置为orders。

(3)将表格Grid1的RecordSourceType的属性值设置为"4-SQL说明"。

(4)修改"显示"按钮的Click事件代码。

使得当单击该按钮时,表格Grid1内将显示在列表框中所选orders表中指定字段的内容。

2.利用查询设计器创建一个查询,要求从orders、employee和customer表中查询2001年5月1日以后(含)所签订单的所有信息。

查询结果依次包含"订单号"、"签订日期"、"金额"、"签订者"和"客户名"5项内容,其中"签订者"为签订订单的职员姓名。

各记录按签订日期降序排列,若签订日期相同按金额降序排序;查询去向为表tableone。

最后将查询保存在queryone.qpr文件中,并运行该查询。

综合应用:
在考生文件夹下创建一个顶层表单myform.scx,表单的标题为"考试",然后创建并在表单中添加一个菜单,菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr,如下图所示。

"统计"和"退出"菜单命令的访问键分别是"T"和"R",功能都通过执行"过程"完成。

"统计"菜单命令的功能是以客户为单位从customer表和orders表中求出订单金额的和。

统计结果有"客户号"、"客户名"和"合计"3项内容,"合计"是指与某客户所签所有订单金额的和。

统计结果应按"合计"降序排列,并存放在tabletwo表中。

菜单命令"退出"的功能是关闭并释放表单。

最后运行表单并依次执行其中的"统计"和"退出"菜单命令。

08套(基础,2010.9;2011.3;2011.9;2012.3;2012.9)
基本操作:
1.在考生文件夹下新建一个名为"学校"的数据库文件,并将自由表"教师表"、"课程表"和"学院表"依次添加到该数据库中。

2.使用SQL语句ALTER TABLE...UNIQUE...将"课程表"中的"课程号"定义为候选索引,索引名是temp,并将该语句存储到文件one.prg中。

3.用表单设计器向导为"课程表"建立一个名为myform的表单,选定"课程表"中的全部字段,按"课程号"字段降序排列,其他选项选择默认值。

4.test.prg中的第2条语句是错误的,修改该语句(注意:只能修改该条语句),使得程序执行的结果是在屏幕上显示10到1,如下图所示。

简单应用:
在考生文件夹下完成下列操作:
1.修改并执行程序temp。

该程序的功能是根据"教师表"和"课程表"计算讲授"数据结构"这门课程,并且"工资"大于等于4000的教师人数。

注意,只能修改标有错误的语句行,不能修改其他语句。

2.在"学校"数据库中(在基本操作题中建立的),使用视图设计器建立视图teacher_v,该视图是根据"教师表"和"学院表"建立的,视图中的字段项包括"姓名"、"工资"和"系名",并且视图中只包括"工资"大于等于4000的记录,视图中的记录先按"工资"降序排列,若"工资"相同再按"系名"升序排列。

综合应用:
(1)在考生文件夹下建立一个文件名和表单名均为oneform的表单,该表单中包括两个标签(Label1和Label2)、一个选项按钮组(OptionGroup1)、一个组合框(Combo1)和两个命令按钮(Command1和Command2),Label1和Label2的标题分别为"工资"和"实例",选项组中有两个选项按钮,标题分别为"大于等于"和"小于",Command1和Command2的标题分别为"生成"和"退出",如下图所示。

(2)将组合框的RowSourceType
和RowSource属性手工指定为5和a,
然后在表单的Load事件代码中定义
数组a并赋值,使得程序开始运行
时,组合框中有可供选择的"工资"
实例为3000、4000和5000。

(3)为"生成"命令按钮编写程序
代码,其功能是:表单运行时,根
据选项按钮组和组合框中选定的
值,将"教师表"中满足工资条件的
所有记录存入自由表salary.dbf中,表中的记录先按"工资"降序排列,若"工资相同"再按"姓名"升序排列。

(4)为"退出"命令按钮设置Click事件代码,其功能是关闭并释放表单。

(5)运行表单,在选项组中选择"小于",在组合框中选择"4000",单击"生成"命令按钮,最后单击"退出"命令按钮。

09套(基础,2010.9;2011.3;2011.9;2012.3;2012.9)
基本操作:
在考生文件夹下,完成如下操作:
1.将student表中学号为99035001的学生的"院系"字段值修改为"经济"。

2.将score表中"成绩"字段的名称修改为"考试成绩"。

3.使用SQL命令(ALTER TABLE)为student表建立一个候选索引,索引名和索引表达式均为"学号",并将相应的SQL命令保存在three.prg文件中。

4.通过表设计器为course表建立一个候选索引,索引名和索引表达式都是"课程编号"。

简单应用:
在考生文件夹下完成如下简单应用:
1.建立一个满足下列要求的表单文件tab。

(1)表单中包含一个页框控件Pageframe1,该页框含有3个页面,Page1、Page2、Page3三个页面的标题依次为"学生"、"课程"和"成绩";
(2)将student(学生)表、course(课程)表和score(成绩)表分别添加到表单的数据环境中;
(3)直接用拖拽的方法使得在页框控件的相应页面上分别显示student(学生)表、course(课程)表和score(成绩)表的内容;
(4)表单中包含一个"退出"命令按钮(Command1),单击该按钮关闭并释放表单。

2.给定表单modi2.scx,功能是:要求用户输入一个正整数,然后计算从1到该数字之间有多少偶数、多少奇数、多少能被3整除的数,并分别显示出来,最后统计出满足条件的数的总数量。

请修改并调试该程序,使之能够正确运行。

改错要求:"计算"按钮的Click事件代码中共有3处错误,请修改***found***下面语句行的错误,必须在原来位置修改,不能增加或删减程序行(其中第一行的赋值语句不许减少或改变变量名)。

"退出"按钮的Click事件代码中有一处错误,该按钮的功能是关闭并释放表单。

综合应用:
在考生文件夹下有一个名为zonghe的表单文件,其中:单击"添加>"命令按钮可以将左边列表框中被选中的项添加到右边的列表框中;单击"<移去"命令按钮可以将右边列表框中被选中的项移去(删除)。

请完善"确定"命令按钮的Click事件代码,其功能是:查询右边列表框所列课程的学生的考试成绩(依次包含姓名、课程名称和考试成绩3个字段),并先按课程名称升序排列,课程名称相同的再按考试成绩降序排列,最后将查询结果存储到表zonghe中。

注意:
(1)SCORE表中的"考试成绩"字段是在基本操作题中修改的。

(2)程序完成后必须运行,要求将"计算机基础"和"高等数学"从左边的列表框添加到右边的列表框,并单击"确定"命令按钮完成查询和存储。

10套(基础,2010.9以前)
基本操作:
1.在考生文件夹下打开数据库SCORE_MANAGER,该数据库中有3个表STUDENT、
SCORE1和COURSE,根据已经建立好的索引,建立表间联系。

2.为COURSE表增加字段:开课学期(N,2,0)。

3.为SCORE1表中的"成绩"字段设置字段有效性规则:成绩>=0,出错提示信息是:"成绩必须大于或等于零"。

4.将SCORE1表中"成绩"字段的默认值设置为空值(NULL)。

简单应用:
在考生文件夹下完成如下简单应用:
1.在SCORE_MANAGER数据库中查询学生的姓名和2003年的年龄(计算年龄的公式是:2003-Year(出生日期),年龄作为字段名),结果保存在一个新表NEW_TABLE1中。

使用报表向导建立报表NEW_REPORT1,用报表显示NEW_TABLE1的内容。

报表中的数据按年龄升序排列,报表标题是"姓名-年龄",其余参数使用缺省设置。

2.建立菜单query_menu。

该菜单中只有"查询"和"退出"两个主菜单项(条形菜单),其中单击"退出"菜单项时,返回到Visual FoxPro系统菜单(相应命令写在命令框中,不要写在过程中)。

综合应用:
SCORE_MANAGER数据库中有3个数据库表,它们分别是STUDENT、SCORE1和COURSE。

设计一个如下图所示的表单Myform1(控件名为form1,表单文件名Myform1.scx),用于对SCORE_MANAGER数据库中的数据进行查询。

表单的标题为"成绩查询"。

表单左侧有文本"输入学号(名称为Label1的标签)"、用于输入学号的文本框(名称为Text1)、"查询"(名称为Command1)和"退出"(名称为Command2)两个命令按钮以及1个表格控件(名称为Grid1)。

表单运行时,首先在文本框中输入学号,然后单击"查询"按钮,如果输入学号正确,在表单右侧以表格形式显示该生所选课程名和成绩,否则提示"学号不存在,请重新输入学号"。

单击"退出"按钮,关闭表单。

相关文档
最新文档