VF上机题库110

2019-08-03 10:50

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\供应\的项目文件。

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

1.在考生文件夹下建立数据库BOOKAUTH.DBC,把表BOOKS和AUTHORS添加到该数据库中。

2.为AUTHORS表建立主索引,索引名为\,索引表达式为\作者编号\。 avg(books bak.价格) as 均价; FROM books bak;

GROUP BY Books bak.出版单位; HAVING 均价 >= 25; ORDER BY 2;

SELECT SUM(使用零件.数量*零件信息.单价) AS je;

FROM 使用零件 ,零件信息 ; WHERE 使用零件.零件号 = 零件信息.零件号;

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

4.为\供应\表的\数量\字段设置有效性规则:数量必须大于0并且小于9999;错误提示信息是\数量超范围\。(注意:规则表达式必须是\数量>0.and.数量<9999\【操作步骤】

(1)启动Visual FoxPro 6.0,按照题目的要求新建一个名为\供应\的项目文件。

(2)按照题目的要求,将\供应零件\数据库添加到项目\供应\中。

(3)步骤1:按照题目的要求为\零件\表建立主索引。

步骤2:以同样的方法为\供应\表建立普通索引。

步骤3:在数据库设计器中从主索引拖拽到普通索引建立联系。

(4)按照题目的要求为\供应\表中的\数量\字段设置字段有效性规则。 1.用SQL语句完成下列操作:列出所有与\红\颜色零件相关的信息(供应商号,工程号和数量),并将查询结果按数量降序存放于表supply_temp中。 2.新建一个名为menu_quick的快捷菜单,菜单中有两个菜单项\查询\和\修改\。并在表单myform的RightClick事件中调用快捷菜单menu_quick。 (1)【操作步骤】

步骤1:按照题目的要求建立名为query1.prg的程序文件,并在程序文件窗口中输入符合题目要求的程序段。

步骤2:以query1为文件名保存并运行程序。

(2)【操作步骤】

步骤1:按照题目的要求新建一个快捷菜单并保存。

步骤2:为快捷菜单添加菜单项,并生成可执行文件menu quick.mpr。 步骤3:打开表单myform,按照题目的要求编写表单的RightClick事件代码\。 步骤4:保存并运行表单。

设计一个名为mysupply的表单,表单的控件名和文件名均为mysupply。表单的形式如下图所示。

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

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

完成表单设计后运行表单,并查询工程号为\的相应信息。 【操作步骤】

步骤1:新建一个表单,并按题目要求修改表单的属性。

步骤2:在表单中添加一个表格控件、两个命令按钮控件、一个标签控件和一个文本框控件,并按照题目的要求设置各控件的属性。

步骤3:将\供应\表和\零件\表添加到表单的数据环境中。

步骤4:编写两个命令按钮的Click事件代码。

***\查询\按钮的Click事件代码*** SELECT 零件.零件名 AS 零件名,零件.颜色 AS 颜色,零件.重量 AS 重量;

FROM 供应,零件;

WHERE 零件.零件号=供应.零件号 AND 供应.工程号=THISFORM.TEXT1.VALUE; ORDER BY 零件名; INTO DBF PP

THISFORM.GRID1.RecordSource=\

*************************

***\退出\按钮的Click事件代码*** THISFORM.RELEASE

*************************

步骤5:保存表单名为mysupply,并按要求运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆

3.为BOOKS表建立两个普通索引,第一个索引名为\,索引表达式为\图书编号\;第二个索引名和索引表达式均为\作者编号\。 4.建立AUTHORS表和BOOKS表之间的永久联系

【操作步骤】

(1)新建一个数据库,在数据库设计器中按题目要求添加表。

2)按照题目的要求为\表建立主索引。

(3)按照题目要求为books表建立两个普通索引。

(4)按照题目的要求为authors表和books表建立永久性联系。

1.打开表单MYFORM4_4,把表单(名称为Form1)标题改为\欢迎您\,将文本\欢迎您访问系统\名称为Label1的标签)改为25号黑体。最后在表单上添加\关闭\名称为Command1)命令按钮,单击此按钮关闭表单。 保存并运行表单。

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

(1)单击\查询\命令按钮,查询BOOKAUTH数据库中出版过3本以上(含3本)图书的作者信息,查询信息包括作者姓名和所在城市;查询结果按作者姓名升序保存在表NEW_VIEW4中。 (2)单击\退出\命令按扭关闭表单。 注意:完成表单设计后要运行表单的所有功能。

(1)【操作步骤】

步骤1:打开表单myform4-4,并按照题目的要求修改表单的标题。

步骤2:在表单设计器窗口中,按照题目的要求修改文本的相关属性。 步骤3:在表单中添加命令按钮,修改其Caption属性为\关闭\,并为其Click事件添加代码\。 (2)【操作步骤】

步骤1:按照题目的要求新建一个名为\的表单。

步骤2:编写两个命令按钮的Click事件代码。

***\查询\按钮的Click事件代码*** SELECT 作者姓名,所在城市 FROM AUTHORS;

WHERE 作者编号 IN;

SELECT 作者编号 FROM BOOKS;

GROUP BY 作者编号 HAVING COUNT(*)>=3);

ORDER BY 作者姓名 INTO TABLE NEW VIEW4

*************************

***\退出\按钮的Click事件代码*** THISFORM.RELEASE

*************************

步骤3:保存表单为myform4并运行。 (1)在考生文件夹下,将BOOKS表中所有书名中含有\计算机\个字的图书复制到BOOKS_BAK表中,以下操作均在BOOKS_BAK表中完成;

(2)复制后的图书价格在原价格的基础上降低5%;

(3)从图书均价高于25元(含25)的出版社中,查询并显示图书均价最低的出版社名称及均价,查询结果保存在new_table4表中(字段名为出版单位和均价)。 【操作步骤】

步骤1:在命令窗口中输入下列代码,用于将BOOKS表中满足条件的记录复制到BOOKS BAK表中,并按回车键以执行该代码。

*************************

SELECT * FROM BOOKS WHERE 书名 LIKE \计算机%\BAK

*************************

步骤2:在命令窗口中输入下列代码,用于更新BOOKS BAK表中的价格字段,并按回车键以执行该代码。 ************************* UPDATE BOOKS BAK SET 价格=价格*(1-0.05)

*************************

步骤3:在命令窗口中输入下列代码,并按回车键以执行该代码。 *************************

SELECT TOP 1 Books bak.出版单位,

INTO TABLE new table4.dbf ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\库存管理\的项目文件。

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

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

4.打开并修改mymenu菜单文件,为菜单项\查找\设置快捷键Ctrl+T。 【操作步骤】

(1)在命令窗口输入\库存管理\也可写作\库存管理\,并按回车键以新建一个项目。或者,单击常用工具栏中的\新建\命令新建一个项目(新建方法前面已有讲解,这里不再赘述)。

(2)按照题目的要求,在项目中新建数据库,并将考生文件夹下的自由表添加到数据库中。

(3)在数据库设计器中打开表设计器,并按题目的要求为\零件信息\表增加一个字段。

(4)按照题目的要求打开并修改mymenu菜单文件。设计完成后,关闭\菜单设计器\并保存菜单文件。

1.用SQL语句完成下列操作:查询项目的项目号、项目名和项目使用的零件号、零件名称,查询结果按项目号降序、零件号升序排序,并存放于表item_temp中,同时将使用的SQL语句存储于新建的文本文件item.txt中。 2.根据零件信息、使用零件和项目信息3个表,利用视图设计器建立一个视图view_item,该视图的属性列由项目号、项目名、零件名称、单价和数量组成,记录按项目号升序排序,筛选条件是:项目号为\。 (1)【操作步骤】

步骤1:按照题目的要求,通过查询设计器新建查询。

步骤2:按照题目的要求新建文本文件item.txt,并将满足条件的SQL语句粘贴到文本文件中。 步骤3:在命令窗口输入\item.txt\并按回车键运行查询。 (2)【操作步骤】

步骤1:打开数据库设计器,按照题目的要求新建本地视图。注意,将表全部添加到视图中时,按默认联接即可。 步骤2:按照题目的要求设计视图。 步骤3:按照题目的要求保存视图。 设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为\使用零件情况统计\。表单中有一个组合框(Combo1)、一个文本框(Text1)和两个命令按钮\统计\和\退出\。

运行表单时,组合框中有3个条目\、\和\只有3个,不能输入新的,RowSourceType的属性为\数组\,Style的属性为\下拉列表框\可供选择,单击\统计\命令按钮后,则文本框显示出该项目所使用零件的金额合计(某种零件的金额=单价*数量)。单击\退出\按钮关闭表单。 注意:完成表单设计后要运行表单的所有功能。 【操作步骤】

步骤1:按照题目的要求新建表单,表单的新建可以通过常用工具栏中的\新建\按钮来实现(操作步骤在前面的解析中已经讲到),也可以在命令窗口中输入\,然后按回车键。

步骤2:从表单控件工具栏向表单添加一个组合框、一个文本框和两个命令按钮,然后在属性窗口中修改各控件的相关属性。

步骤3:按照题目的要求设置组合框的数据源。

步骤4:分别双击命令按钮\统计\和\退出\,为它们编写Click事件代码。 其中,\统计\按钮的Click事件代码为:

***\统计\按钮的Click事件代码*** x=ALLT(ThisForm.combo1.Value)

AND 使用零件.项目号 = x; INTO ARRAY b

ThisForm.Text1.Value=ALLT(str(b[1]))

************************* \退出\按钮的Click事件代码为: ***\退出\按钮的Click事件代码*** ThisForm.Release

************************* 步骤5:保存并运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下打开数据库\订单管理\,然后删除其中的customer表(从磁盘中删除)。

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

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

4.为employee表建立一个主索引,为orders建立一个普通索引,索引名和索引表达式均为\职员号\。通过\职员号\为employee表和orders表建立一个一对多的永久联系。 【操作步骤】

(1)打开考生文件夹下的\订单管理\数据库,按要求删除指定的表。 (2)按照题目的要求为\表建立普通索引。

(3)按照题目的要求为\表建立普通索引。

(4)按照题目的要求为\表和\表建立永久联系。

1.在考生文件夹下已有表单文件formone.scx,其中包含两个标签、一个组合框和一个文本框,如下图所示。 按要求完成相应的操作,使得当表单运行时,用户能够从组合框选择职员,并且该职员所签订单的平均金额能自动显示在文本框里。

(1)将orders表和employee表依次添加到该表单的数据环境中(不要修改两个表对应对象的各属性值)。 (2)将组合框设置成\下拉列表框\,将employee表中的\姓名\字段作为下拉列表框条目的数据源。其中,组合框的RowSourceType属性值应设置为:6-字段。

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

2.利用查询设计器创建查询,从employee和orders表中查询\组别\为1的组各职员所签的所有订单信息。查询结果依次包含\订单号\、\金额\和\签订者\项内容,其中\签订者\为签订订单的职员姓名。按\金额\降序排列各记录,查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 (1)【操作步骤】

步骤1:打开表单设计器,将题目要求的两个表添加到其数据环境中。然后关闭数据环境设计器。

步骤2:按照题目的要求,在属性窗口中修改控件的相关属性。

步骤3:双击组合框,按照题目的要求修改组合框的相关方法。其中,需将命令语句\=m2\改为\=m2\。 步骤4:保存并运行表单。 (2)【操作步骤】

步骤1:新建一个查询,将表employee和orders添加到查询中。

步骤2:按照题目的要求为查询添加相应的字段。

步骤3:按照题目的要求对指定的字段进行排序,并定义查询去向为表\。

在考生文件夹下创建一个名为mymenu.mnx的下拉式菜单,并生成菜单程序mymenu.mpr。运行该菜单程序时会在当前Visual FoxPro系统菜单的\帮助\子菜单之前插入一个\考试\子菜单,如下图所示。

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

\统计\菜单命令的功能是以组为单位求\订单金额\的和。统计结果包含\组别\、\负责人\和\合计\项内容,其

中\负责人\为该组组长(取自employee中的\职务\字段)的姓名,\合计\为该组所有职员所签订单的金额总和。统计结果按\合计\降序排序,并存放在tabletwo表中。

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

菜单程序生成后,运行菜单程序并依次执行\统计\和\返回\菜单命令。 【操作步骤】

步骤1:新建一个菜单,并按照题目的要求设计菜单的显示方式及位置。 步骤2:按照题目要求设计各级菜单。 步骤3:选中统计行,单击后面的\创建\按钮,在弹出的窗口中输入如下代码,为\统计\菜单编写代码。 ****\统计\菜单项中的代码***** SELECT Employee.组别, Employee.姓名 AS 负责人,SUM(orders.金额) as 合计;

FROM employee ,orders ;

WHERE Employee.职员号 = Orders.职员号;

AND Employee.职务 = \组长\; GROUP BY Employee.组别; ORDER BY 3 DESC;

INTO TABLE tabletwo.dbf *************************

步骤4:为\返回\菜单编写代码\SYSMENU TO DEFAULT\,方法同步骤3。 步骤5:保存菜单并生成可执行文件。 步骤6:在命令窗口中输入\mymenu.mpr\运行程序,并分别执行\统计\和\返回\菜单命令。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\图书管理\的项目文件。

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

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

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

(1)打开Visual FoxPro,通过常用工具栏中的\新建\命令按钮新建项目文件,并将该项目以\图书管理\为文件名保存在考生文件夹下。

(2)按照题目的要求在项目管理器中新建一个数据库。设计完成后,关闭数据库设计器。

(3)按照题目的要求将考生文件夹下的自由表添加到\图书\数据库中。本小题中的自由表是\、\和\个表。 (4)步骤1:通过\图书管理\项目管理器新建查询。

步骤2:将全部字段添加到\选定字段\列表框中。

步骤3:在\筛选\选项卡下,为查询添加筛选条件。

步骤4:在\排序依据\选项卡中,按要求设置排序依据。

步骤5:执行\文件\菜单下的\另存为\菜单命令,并以\为文件名对查询文件进行保存。

在考生文件夹下已有order、orderitem和goods三个表。其中,order表包含了订单的基本信息,orderitem表包含了订单的详细信息,goods表包含了商品(图书)的相关信息。

1.利用查询设计器创建查询,从order、orderitem和goods表中查询客户名为lilan的所有订单信息,查询结果依次包含订单号、客户名、签订日期、商品名、单价和数量6项内容。各记录按订单号降序排序,订单号相同按商品名降序排序。查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 2.在考生文件夹下有一个名为menu_lin的下拉式菜单,请设计一个名为form_menu的顶层表单,将菜单menu_lin加入到该表单中,使得运行表单时菜单显示在该表单中,并且,表单退出时释放菜单。 (1)【操作步骤】

步骤1:新建查询,为查询添加order、orderitem和goods三个表。

步骤2:按题目要求为查询添加字段。 步骤3:在\筛选\选项卡中,为查询添加筛选条件。

步骤4:在排序依据选项卡中按要求设置排序条件。

步骤5:为查询设置查询去向。

步骤6:以\为文件名保存查询,最后单击常用工具栏中的\运行\按钮运行查询。 (2)【操作步骤】

步骤1:将菜单设置为\顶层表单\。 步骤2:在命令窗口执行命令,新建表单form menu,修改表单的ShowWindow属性为\-作为顶层表单\。

步骤3:双击表单空白处,分别输入表单Init和Destroy事件。

************Init************ DO menu lin.mpr With This,\***********destroy************ Release Menu abc Extended ************************* 步骤4:保存并运行表单。

设计一个名为form_book的表单,表单的控件名为form1,文件名为form_book,表单的标题为\图书情况统计\。表单中有一个组合框(名称为Combo1)、一个文本框(名称为Text1)和两个命令按钮\统计\和\退出\名称为Command1和Command2)。

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

注意:完成表单设计后要运行表单的所有功能。 【操作步骤】

步骤1:在命令窗口输入命令\Form form book\,建立表单。

步骤2:从表单控件中以拖拽的方式在表单中添加一个组合框、一个文本框和两个命令按钮,并修改各控件的属性,为表单添加数据环境\表。 步骤3:双击命令按钮,写入命令按钮的Click事件。*******\统计\命令按钮的Click事件******

a=alltrim(ThisForm.combo1.Value) count to b for 出版社=a ThisForm.Text1.Value=b *************************

***\退出\命令按钮的Click事件** ThisForm.Release

************************* 步骤4:保存并运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下完成如下基本操作: 1.通过SQL INSERT语句插入元组(\,\,1020)到\零件信息\表(注意不要重复执行插入操作),并将相应的SQL语句存储在文件one.prg中。

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

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

4.打开菜单文件mymenu.mnx,然后生成可执行的菜单程序mymenu.mpr。 【操作步骤】

(1)打开Visual FoxPro,在命令窗口输入:INSE INTO 零件信息 VALUES(\,\,1020),并按下回车键执行语句。

然后创建一个程序文件one.prg,把代码复制过去并保存。

(2)在命令窗口输入:DELE FORM 零件信息 WHERE 单价<600, 并按下回车键执行语句。

然后创建一个程序文件two.prg,把代码复制过去并保存。

(3)在命令窗口输入:UPDATE 零件信息 SET 单价=1090 WHERE 零件号=\,并按下回车键执行语句。 然后创建一个程序文件three.prg,把代码复制过去并保存。

(4)打开菜单mymenu.mnx后,选择系统菜单中的\菜单\,然后选择\生成\。 1.modi1.prg程序文件中SQL SELECT语句的功能是查询目前用于3个项目的零件(零件名称),并将结果按升序存入文本文件results.txt中。给出的SQL SELECT语句中在第1、3、5行各有一处错误,请改正并运行程序(不得增、删语句或短语,也不得改变语句行)。

2.根据\项目信息\一方)和\使用零件\多方)两个表、通过一对多报表向导建立一个报表,报表中包含项目号、项目名、项目负责人、电话、零件号

和数量6个字段。报表按项目号升序排序,报表样式为经营式,在总结区域(细节及总结)包含零件使用数量的合计,报表标题为\项目使用零件信息\,报表文件名为report。 (1)【操作步骤】

打开考生文件夹下的程序文件,并按题目的要求进行

改错,修改完成后运行程序文件。 (2)【操作步骤】

步骤1:打开考生文件夹下的\项目信息\表,通过一对多报表向导创建一个报表。

步骤2:选择表并添加相应的字段到选定字段中。

步骤3:按题目要求选择排序并设置报表样式。

步骤4:在\步骤6-完成\中输入报表标题。 步骤5:输入报表文件名report。 (1)根据\项目信息\、\零件信息\和\使用零件\个表建立一个查询(注意表之间的连接字段),该查询包括项目号、项目名、零件名称和数量4个字段,并要求先按项目号升序排列,项目号相同的再按零件名称降序排列,保存的查询文件名为chaxun;

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

步骤1:单击常用工具栏中的\新建\按钮,新建一个查询,依次将题目所要求的表添加到查询设计器中。

步骤2:分别选中字段\项目信息.项目号\、\项目信息.项目名\、\零件信息.零件名称\和\使用零件.数量\并添加到可用字段。

步骤3:在\排序依据\选项卡中为查询设置排序。

步骤4:在系统菜单中单击\保存\按钮保存查询,输入查询名\。最后单击常用工具栏中的\运行\按钮运行查询。

(2)【操作步骤】

步骤1:在命令窗口输入\FORM myform\新建表单。并修改表单的Name属性为myform。

步骤2:从表单控件工具栏向表单中添加一个表格控件和一个命令按钮控件,修改表单控件的属性。

步骤3:设置命令按钮与表格等宽且左对齐。 步骤4:双击\退出\按钮,写入Click事件代码。

***\退出\按钮Click事件代码*** ThisForm.Release

*************************

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下创建一个名为\订单管理\的数据库,将已有的employee、orders和customer三个表添加到该数据库中。

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

3.为employee表建立一个主索引,为orders建立一个普通索引,索引名和索引表达式均为\职员号\。通过\职员号\为employee表和orders表建立一个一对多的永久联系。

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

(1)在命令窗口输入命令:Create Data 订单管理,打开数据库设计器,将自由表\、\和\添加到数据库中。

(2)在数据库设计器中为表orders建立普通索引,索引名为\,索引表达式为\签订日期)\。

(3)按照上述操作步骤分别为表employee和orders建立主索引和普通索引,在数据库设计器中从主索引拖到普通索引建立表的联系。

(4)打开参照完整性编辑器,按题目的要求设置规则。

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

按要求完成相应的操作:

(1)将orders表添加到表单的数据环境中。

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

(3)将表格Grid1的RecordSourceType的属性值设置为\-SQL说明\。 (4)修改\显示\按钮的Click事件代码。使得当单击该按钮时,表格Grid1内将显示在列表框中所选orders表中指定字段的内容。

2.利用查询设计器创建一个查询,要求从orders、employee和customer表中查询2001年5月1日以后(含)所签订单的所有信息。查询结果依次包含\订单号\、\签订日期\、\金额\、\签订者\和\客户名\项内容,其中\签订者\为签订订单的职员姓名。各记录按签订日期降序排列,若签订日期相同按金额降序排序;查询去向为表tableone。最后将查询保存在queryone.qpr文件中,并运行该查询。 (1)【操作步骤】

步骤1:打开表单formone,在表单的空白处单击右键,将Orders表添加到表单的数据环境中。

步骤2:修改列表框和表格的属性。 步骤3:双击\显示\按钮,修改其Click事件代码如下。

错误1:FOR i=1 TO thisform.List1.ColumnCount

修改为:FOR i=1 TO thisform.List1.ListCount

错误2:s=thisform.List1.value 修改为:s=thisform.List1.List(i) 错误3:s=s+thisform.List1.value 修改为:s=s+thisform.List1.List(i)

步骤4:保存并运行表单查看结果。 (2)【操作步骤】

步骤1:单击常用工具栏中的\新建\按钮,新建查询,将表\、\和\添加到查询中。

步骤2:分别选择字段orders.订单号、orders.签订日期、orders.金额、employees.姓名 as 签订者、customer.客户名,添加到可用字段中。

步骤3:在排序选项卡中指定排序选项为降序,添加字段orders.签订日期,orders.金额。

步骤4:选择系统菜单中的查询→查询去向→表,输入表名为\。 步骤5:保存查询,输入查询名\,在常用工具栏中单击运行按钮,运行该查询。

在考生文件夹下创建一个顶层表单myform.scx,表单的标题为\考试\,然后创建并在表单中添加一个菜单,菜单的名称为mymenu.mnx,菜单程序的名称为mymenu.mpr,如下图所示。 \统计\和\退出\菜单命令的访问键分别是\和\,功能都通过执行\过程\完成。

\统计\菜单命令的功能是以客户为单位从customer表和orders表中求出订单金额的和。统计结果有\客户号\、\客户名\和\合计\项内容,\合计\是指与某客户所签所有订单金额的和。统计结果应按\合计\降序排列,并存放在tabletwo表中。

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

最后运行表单并依次执行其中的\统计\和\退出\菜单命令。 【操作步骤】

步骤1:在命令窗口输入:Create form myform,新建表单。

步骤2:将表单的\属性设置为\作为顶层表单\。

步骤3:双击表单空白处,编写表单的\事件代码:

DO mymenu.mpr WITH THIS, \步骤4:新建菜单,输入菜单项\统计\和\退出\,并为\统计\菜单项设置快捷键\+T\。

步骤5:以同样的方式为\退出\菜单项设置快捷键\+R\,并执行\显示\菜单下的\常规选项\命令,将此菜单设置为\顶层表单\。

步骤6:为\统计\和\退出\菜单项创建过程,写入如下SQL语句。

***\统计\菜单中的命令语句****** SELECT Customer.客户号, Customer.客户名, sum(orders.金额) as 合计; FROM customer,orders ;

WHERE Customer.客户号 = Orders.客户号;

GROUP BY Customer.客户号; ORDER BY 3 DESC;

INTO TABLE tabletwo.dbf ***********************

***\退出\菜单中的命令语句****** Myform.Release

***********************

步骤7:保存菜单名为mymenu,生成可执行程序。运行表单,查看结果。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下新建一个名为\学校\的数据库文件,并将自由表\教师表\、\课程表\和\学院表\依次添加到该数据库中。

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

3.用表单设计器向导为\课程表\建立一个名为myform的表单,选定\课程表\中的全部字段,按\课程号\字段降序排列,其他选项选择默认值。 4.test.prg中的第2条语句是错误的,修改该语句(注意:只能修改该条语句),使得程序执行的结果是在屏幕上显示10到1,如下图所示。 【操作步骤】

(1)在命令窗口输入:Crea Data 学校,按下回车键执行语句,打开数据库设计器,将表\教师表\、\课程表\和\学院表\添加到数据库中。 (2)新建一个程序,输入:ALTER TABLE 课程表 ADD UNIQUE 课程号 TAG temp,保存程序名为one,最后运行程序。

(3)通过表单向导新建一个表单,选定\课程表\的全部字段作为选定字段,选择按\课程号\降序排序,完成向导 并输入表单文件名myform。

(4)打开程序test,将第二行语句改为:DO WHILE i>=1。保存并运行程序,查看运行结果。

1.修改并执行程序temp。该程序的功能是根据\教师表\和\课程表\计算讲授\数据结构\这门课程,并且\工资\大于等于4000的教师人数。注意,只能修改标有错误的语句行,不能修改其他语句。

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

(1)【操作步骤】

打开考生文件夹下的程序文件,并按题目的要求进行改错,修改完成后运行程序文件。 (2)【操作步骤】

步骤1:单击系统菜单中的\新建\命令,新建一个视图,将表\教师表\和\学院表\添加到新建的视图中。 步骤2:将\教师表.姓名\、\教师表.工资\和\学院表.系名\添加到选定字段中。

步骤3:在筛选选项卡中选择字段\教师表.工资\,条件为\=\,实例为\。

步骤4:在排序选项卡中,设置按\工资\降序排序,再按\系名\升序排序。 步骤5:保存视图名为\。 (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)运行表单,在选项组中选择\小于\,在组合框中选择\,单击\生成\命令按钮,最后单击\退出\命令按钮。

【操作步骤】

步骤1:在命令窗口输入:Create Form oneform并按回车键,新建一个名为oneform表单。

步骤2:在表单控件中以拖拽的方式向表单中添加两个标签、一个选项组、一个组合框和两个命令按钮,并修改各控件的属性。

步骤3:双击表单空白处,编写表单的load事件代码:

*****表单的load事件代码******* public a(3) a(1)=\a(2)=\a(3)=\

*************************

步骤4:双击命令按钮,分别编写\生成\和\退出\按钮的Click事件代码。 ***\生成\按钮的Click事件代码*** x=val(ThisForm.combo1.Value) if ThisForm.Optiongroup1.Value = 1

sele * from 教师表 where 工资 >= x order by 工资 desc,姓名 into table salary else

sele * from 教师表 where 工资 < x order by 工资 desc,姓名 into table salary endif

***\退出\按钮的Click事件代码*** ThisForm.Release

*************************

步骤5:保存表单,并按题目要求运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.将student表中学号为99035001的学生的\院系\字段值修改为\经济\。 2.将score表中\成绩\字段的名称修改为\考试成绩\。

3.使用SQL命令(ALTER TABLE)为student表建立一个候选索引,索引名和索引表达式均为\学号\,并将相应的SQL命令保存在three.prg文件中。 4.通过表设计器为course表建立一个候选索引,索引名和索引表达式都是\课程编号\。 【操作步骤】

(1)打开表student,在命令窗口输入:browse,按下回车键。按要求修改表的内容。

(2)打开score表,单击\显示\菜单中的\表设计器\菜单命令,打开表设计器,修改字段名称。

(3)在命令窗口输入SQL命令:ALTER TABLE student ADD UNIQUE 学号 TAG 学号,按下回车键。并将该语句保存到three.prg文件中。

(4)同第2小题,打开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事件代码中有一处错误,该按钮的功能是关闭并释放表单。

(1)【操作步骤】

步骤1:在命令窗口输入:Create form tab,按下回车键,新建一个表单文件tab,在表单控件中单击相应的控件,然后在表单上画出一个页框控件、一个命令按钮。将页框改为3个页面。 步骤2:在页框上单击右键在弹出的快捷菜单中选择\编辑\项,设置页框各页的标题属性。

Page1 Caption 学生 Page2 Caption 课程 Page3 Caption 成绩

步骤3:在表单空白处单击右键,在弹出的快捷菜单中单击\数据环境\命令,为表单添加表\、\和\到数据环境中。 步骤4:在页框上单击右键→编辑,按题目的要求将表拖拽到相应的页中。 步骤5:将命令按钮的标题改为退出,输入其Click事件:ThisForm.Release。

步骤6:保存并运行表单查看结果。 (2)【操作步骤】

打开表单modi2,修改\计算\命令按钮的Click事件。

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

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

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

步骤1:\确定\命令按钮的Click事件如下。 *************************

SELECT Student.姓名, Course.课程名称, Score.考试成绩;

FROM student,score,course ; WHERE Score.课程编号 = Course.课程编号 ;

AND Student.学号 = Score.学号; AND &cn;

ORDER BY Course.课程名称, Score.考试成绩 DESC;

INTO TABLE zonghe.dbf ************************* 步骤2:保存并运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.在考生文件夹下打开数据库SCORE_MANAGER,该数据库中有3个表STUDENT、SCORE1和COURSE,根据已经建立好的索引,建立表间联系。 2.为COURSE表增加字段:开课学期(N,2,0)。

3.为SCORE1表中的\成绩\字段设置字段有效性规则:成绩>=0,出错提示信息是:\成绩必须大于或等于零\。 4.将SCORE1表中\成绩\字段的默认值设置为空值(NULL)。 【操作步骤】

(1)打开数据库设计器,在父表中选中主索引,按住鼠标左键拖动至子表相应的普通索引上,释放鼠标。

(2)打开表COURSE,在系统菜单中执行\显示\菜单下的\表设计器\命令,在最下面输入字段名\开课学期\,数据类型为数值型(2,0)。

(3)在数据库设计器中双击\表的任意位置打开该表,单击\显示\菜单中的\表设计器\命令,在弹出的表设计器中选中\成绩\字段,在\字段有效性\中的\规则\文本框中填入:成绩>=0,在\信息\文本框中填入\成绩必须大于或等于零\。

(4)同上题打开表设计器,选择\成绩\字段,单击NULL列下的按钮(表示此列允许空值),然后再在\字段有效性\中的默认值中填入\。

1.在SCORE_MANAGER数据库中查询学生的姓名和2003年的年龄(计算年龄的公式是:2003-Year(出生日期),年龄作为字段名),结果保存在一个新

表NEW_TABLE1中。使用报表向导建立报表NEW_REPORT1,用报表显示NEW_TABLE1的内容。报表中的数据按年龄升序排列,报表标题是\姓名-年龄\,其余参数使用缺省设置。

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

(1)【操作步骤】

步骤1:在命令窗口中输入如下语句,并执行。

SELECT 姓名, 2003-Year(出生日期) as 年龄; FROM student;

INTO TABLE new table1.dbf

步骤2:通过工具栏中的\新建\按钮新建报表。

步骤3:选择表new table1的全部字段作为选定字段。

步骤4:单击下一步到步骤5,选择按字段\年龄\升序排序。

步骤5:单击下一步,输入报表标题\姓名-年龄\。

步骤6:完成报表,输入报表名为\report1\。

(2)【操作步骤】

步骤1:新建菜单,分别输入\查询\和\退出\两个菜单项。

步骤2:在\退出\的结果中选择\命令\,并在后面的框中输入\TO DEFAULT\。

步骤3:保存菜单为query menu并生成可执行菜单。

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

设计一个如下图所示的表单Myform1(控件名为form1,表单文件名Myform1.scx),用于对SCORE_MANAGER数据库中的数据进行查询。表单的标题为\成绩查询\。表单左侧有文本\输入学号(名称为Label1的标签)\、用于输入学号的文本框(名称为Text1)、\查询\名称为Command1)和\退出\名称为Command2)两个命令按钮以及1个表格控件(名称为Grid1)。

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

步骤1:在命令窗口输入:CREATE FORM myform1,新建一个表单。按题目的要求添加控件,并修改控件的属性。 步骤2:添加数据环境表\和\score1\。

步骤3:编写命令按钮的Click事件代码。 ***\查询\按钮的Click事件代码*** SELECT course.课程名 AS 课程名,score1.成绩 AS 成绩; FROM course,score1;

WHERE course.课程号=score1.课程号 AND score1.学号=ThisForm.Text1.text;

INTO CURSOR coruse cursor IF RECC()=0

MESSAGEBOX(\学号不存在,请重新输入学号\ELSE

ThisForm.Grid1.RecordSource=\

ThisForm.Grid1.refresh ENDIF

*************************

***\退出\按钮的Click事件代码**** ThisForm.Release

************************* 步骤4:保存并运行表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.用SQL语句从rate_exchange表中提取外币名称、现钞买入价和卖出价3个字段的值,并将结果存入rate_ex表中(字段顺序为外币名称、现钞买入价和卖出价,字段类型和宽度与原表相同,记录顺序与原表相同),并将相应的SQL语句存储于文本文件one.txt中。 2.用SQL语句将rate_exchange表中外币名称为\美元\的卖出价修改为829.01,并将相应的SQL语句存储于文本文件two.txt中。

3.利用报表向导根据rate_exchange表生成一个名为\外币汇率\的报表,

报表按顺序包含外币名称、现钞买入价和卖出价3列数据,报表的标题为\外币汇率\其他使用默认设置),生成的报表文件保存为rate_exchange。 4.打开生成的报表文件rate_exchange进行修改,使显示在标题区域的日期改在每页的注脚区显示。 【操作步骤】

(1) 新建一个文本,写入代码,保存文本为one,在命令窗口输入:DO one.txt执行代码。

****one.txt中输入的代码****** SELECT Rate exchange.外币名称, Rate exchange.现钞买入价,Rate exchange.卖出价; FROM rate exchange; INTO TABLE rate ex.dbf *************************

(2)新建一个文本,写入下面的代码,保存文本为two,在命令窗口输入:DO two.txt,按下回车键执行代码。 ****two.txt中输入的代码****

Update Rate exchange set 卖出价=829.01 where 外币名称=′美元′ *************************

(3)通过报表向导新建一个报表,添加字段\外币名称\、\现钞买入价\和\卖出价\,单击\下一步\到\步骤6-完成\,输入报表标题\外币汇率\,保存报表名为\。

(4)打开报表,将日期框从标题区域拖拽到页注脚区域。保存报表。

1.设计一个如下图所示的表单,具体描述如下:

(1)表单名和文件名均为Timer,表单标题为\时钟\,表单运行时自动显示系统的当前时间;

(2)显示时间的为标签控件Label1(要求在单表中居中,标签文本对齐方式为居中);

(3)单击\暂停\命令按钮(Command1)时,时钟停止;

(4)单击\继续\命令按钮(Command2)时,时钟继续显示系统的当前时间; (5)单击\退出\命令按钮(Command3)时,关闭表单。

2.使用查询设计器设计一个查询,要求如下:

(1)基于自由表currency_sl和rate_exchange;

(2)按顺序含有字段\姓名\、\外币名称\、\持有数量\、\现钞买入价\及表达式\现钞买入价*持有数量\;

(3)先按\姓名\升序排列,若\姓名\相同再按\持有数量\降序排序;

(4)查询去向为表results,\姓名\相同的;

(5)完成设计后将查询保存为query文件,并运行该查询。 (1)【操作步骤】

步骤1:在命令窗口输入\Timer\新建一个名为timer的表单。按题目要求添加一个标签控件,一个计时器控件,3个命令按钮控件。

步骤2:在属性窗口设置各控件的属性如下:表单的Caption值为:时钟 表单的Name值为:Timer

标签的Alignment的值为:2-中央 步骤3:选中标签,然后执行\格式\→\对齐\菜单中的\水平居中\命令。三个命令按扭的Caption依次为:暂停,继续,退出。计时器的Interval值为500。

步骤4:为各命令按钮编写Click事件的代码:

***\暂停\按钮的Click事件代码*** ThisForm.Timer1.2nterval=0 *************************

***\继续\按钮的Click事件代码*** ThisForm.Timer1.Interval=500 *************************

***\退出\按钮的Click事件代码*** This Form.Re lease

*************************

***\计时器\的timer事件代码**** ThisForm.Label1.Caption=time() *************************

步骤5:保存并运行表单查看结果。 (2)【操作步骤】

步骤1:新建查询,并向查询中添加表\和\。 步骤2:添加字段\sl.姓名\、\rate exchange.外币名称\、\currency sl.持有数量\、\rate exchange.现钞买入价\和\Rate exchange.现钞买入价*Currency sl.持有数量\。

步骤3:在\排序依据\选项卡中选择按

\姓名\升序排序,再按\持有数量\降序排序。

步骤4:在查询去向中选择表,输入表名为\。

步骤5:保存查询名为query并运行查询。 设计一个满足如下要求的应用程序,所有控件的属性必须在表单设计器的属性窗口中设置。

(1)建立一个表单,文件名和表单名均为form1,表单标题为\外汇\。

(2)表单中含有一个页框控件(PageFrame1)和一个\退出\命令按钮(Command1)。

(3)页框控件(PageFrame1)中含有3个页面,每个页面都通过一个表格控件显示相关信息。

① 第一个页面Page1上的标题为\持有人\,上面的表格控件名为grdCurrency_sl,记录源的类型(RecordSourceType)为\表\,显示自由表currency_sl中的内容;

② 第二个页面Page2上的标题为\外汇汇率\,上面的表格控件名为grdRate_exchange,记录源的类型(RecordSourceType)为\表\,显示自由表rate_exchange中的内容;

③ 第三个页面Page3上的标题为\持有量及价值\,上面的表格控件名为Grid1,记录源的类型(RecordSourceType)为\查询\,记录源(RecordSource)为\简单应用\题中建立的查询文件query。

(4)单击\退出\命令按钮(Command1)关闭表单。注意:完成表单设计后要运行表单的所有功能。 【操作步骤】

步骤1:在命令窗口输入:Create form Form1,创建表单。在表单上添加一个页框控件,一个命令按钮。

步骤2:在表单的空白处单击右键,添加表\sl\和\exchange\到数据环境中。

步骤3:修改页框的PageCount值为3,在页框上单击右键,在弹出的快捷菜单中单击\编辑\项。将Page1的Caption属性修改为\持有人\,从数据环境中拖拽表\到该页,同样将Page2的Caption属性修改为\外汇汇率\,从数据环境中拖拽表\到该页。将Page3的Caption属性修改为\持有量及价值\,在页框上添加一个表格控件,修改表格控件的属性RecordSourceType为:3-查询,RecordSource为:query。 步骤4:修改命令按钮的Caption属性为\退出\,写入其Click事件:ThisForm.Release。

步骤5:保存并运行该表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 1.打开考生文件夹下的数据库College,物理删除该数据库中的temp表,然后将3个自由表\教师表\、\课程表\和\学院表\添加到该数据库中。 2.为\课程表\和\教师表\分别建立主索引和普通索引,字段名和索引名均为\课程号\,并为两个表建立一对多的联系。

3.使用SQL语句查询\教师表\中工资大于4500的教师的全部信息,将查询结果按职工号升序排列,查询结果存储到文本文件one.txt中,SQL语句存储于文件two.prg中。

4.使用报表向导为\学院表\创建一个报表three,选择\学院表\的所有字段,其他选项均取默认值。 【操作步骤】

(1)打开数据库设计器,右键单击表,选择\删除\命令,在弹出的对话框中选择\删除\按钮,鼠标右键单击数据库设计器空白处,通过快捷菜单中的\添加\命令将自由表\教师表\、\课程表\和\学院表\添加到数据库中。 (2)在数据库设计器中右键单击表,通过快捷菜单中的\修改\命令打开表设计器,分别为\课程表\和\教师表\按要求建立主索引和普通索引,在数据库设计器中从主索引拖拽到普通索引以建立两表间的联系。

(3)新建一个程序,写入下列代码。 SELECT *; FROM 教师表;

WHERE 教师表.工资 >= 4500; ORDER BY 教师表.职工号; TO FILE one.txt

保存程序名为two,并单击系统菜单中的运行按钮,运行程序。

(4)通过报表向导新建一个报表,添加

\学院表\作为报表的数据源,将所有字段添加到选定字段,最后输入报表名\。

1.修改并执行程序four.prg,该程序的功能是:根据\学院表\和\教师表\计算\信息管理\系教师的平均工资。注意,只能修改标有错误的语句行,不能修改其他语句。

2.在College数据库中使用视图设计器建立一个名为course_v的视图,该视图根据\课程表\、\学院表\和\教师表\建立,视图中的字段包括\姓名\、\课程名\、\学时\和\系名\项,视图中只包括\学时\大于等于60的记录,视图中的记录先按\系名\升序排列,若\系名\相同再按\姓名\降序排列,最后查询该视图中的全部信息,并将结果存放到表sef中。 (1)【操作步骤】

步骤1:打开程序four.prg,修改语句如下: 第一处: WHILE改为WHERE。 第二处: OPEN改为USE。 第三处: WHERE改为FOR。

第四处: 填入num = num +1。 步骤2:保存并运行程序。 (2)【操作步骤】

步骤1:打开数据库设计器,新建一个视图,并将添加\课程表\、\学院表\和\教师表\个表添加到视图设计器中。

步骤2:将字段\教师表.姓名\、\课程表.课程名\、\课程表.课时\和\学院表.系名\添加到\选定字段\框中。

步骤3:在筛选选项卡中,选择字段\课程表.课时\,条件为\=\,在实例中输入\。

步骤4:在排序选项卡中选择按\系名\升序、\姓名\降序排序。

步骤5:保存视图名为course v。 步骤6:新建一个查询,将视图添加到查询设计器中,选定所有字段,设置查询去向为表\。运行该查询。 (1)建立一个文件名和表单名均为oneform的表单文件,表单中包括两个标签控件(Label1和Label2)、一个选项组控件(Optiongroup1)、一个组合框控件(Combo1)和两个命令按钮控件(Command1和Command2),Label1和Label2的标题分别为\系名\和\计算内容\,选项组中有两个选项按钮option1和option2,标题分别为\平均工资\和\总工资\,Command1和Command2的标题分别为\生成\和\退出\。如下图所示。

(2)将\学院表\添加到表单的数据环境中,然后手工设置组合框(Combo1)的RowSourceType属性为6、RowSource属性为\学院表.系名\,程序开始运行时,组合框中可供选择的是\学院表\中的所有\系名\。

(3)为\生成\命令按钮编写程序代码。程序的功能是:表单运行时,根据组合框和选项组中选定的\系名\和\计算内容\,将相应\系\的\平均工资\或\总工资\存入自由表salary中,表中包括\系名\、\系号\以及\平均工资\或\总工资\个字段。

(4)为\退出\命令按钮编写程序代码,程序的功能是关闭并释放表单。 (5)运行表单,在选项组中选择\平均工资\,在组合框中选择\信息管理\,单击\生成\命令按钮。最后,单击\退出\命令按钮结束。 【操作步骤】

步骤1:在命令窗口输入:Create Form oneform,按下回车键新建一个表单。按题目要求向表单添加控件,并修改各控件的属性。

步骤2:双击命令按钮,编写两个命令按钮的Click事件代码。

***\生成\按钮的Click事件代码**** x = ThisForm.combo1.Value

if ThisForm.Optiongroup1.Value = 1

SELECT 学院表.系名, 学院表.系号, avg(教师表.工资) as 平均工资;

FROM 学院表 ,教师表;

WHERE 学院表.系号 = 教师表.系号;

AND 学院表.系名 = x; GROUP BY 学院表.系号; INTO TABLE salary.dbf else

SELECT 学院表.系名, 学院表.系号, sum(教师表.工资) as 总工资;

FROM 学院表,教师表;

WHERE 学院表.系号 = 教师表.系号;

AND 学院表.系名 = x; GROUP BY 学院表.系号; INTO TABLE salary.dbf Endif

*************************

***\退出\按钮的Click事件代码*** ThisForm.Release

************************ 步骤3:保存表单,并按题目要求运行。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下的数据库rate中完成下列操作:

1.将自由表rate_exchange和currency_sl添加到rate数据库中。 2.为表rate_exchange建立一个主索引,表currency_sl建立一个普通索引(升序),两个索引的索引名和索引表达式均为\外币代码\。

3.为表currency_sl设定字段的有效性,规则为:\持有数量<>0\,错误提示信息是\持有数量不能为0\。 4.打开表单文件test_form,该表单的界面如下图所示,请修改\登录\命令按钮的相关属性,使其在运行时可以使用。 【操作步骤】

(1)打开数据库,在数据库设计器空白处单击右键添加表\和\。

(2)右键单击表,通过\修改\命令打开表设计器,分别为表\和\建立主索引和普通索引,在数据库设计器中从主索引拖拽到普通索引建立两表之间的联系。 (3)打开rate exchange的表设计器,选中字段\持有数量\在\规则\栏中输入\持有数量<>0\,在\信息\栏中输入:\持有数量不能为0\。

(4)打开表单test form,修改命令按钮\登录\的Enable属性为\-真(默认)\。

父表为rate_exchange,子表为currency_sl,从父表中选择字段\外币名称\;从子表中选择全部字段;两个表通过\外币代码\建立联系;按\外币代码\降序排序;报表样式为\经营式\,方向为\横向\,报表标题为\外币持有情况\;生成的报表文件名为currency_report。 (1)【操作步骤】

步骤1:新建一个文本文件,编写下列代码: ****rate.txt文件中的代码****

SELECT Rate exchange.外币名称, Currency sl.持有数量; FROM currency sl,rate exchange ; WHERE Currency sl.外币代码 = Rate exchange.外币代码;

AND Currency sl.姓名 = \林诗因\; ORDER BY Currency sl.持有数量; INTO TABLE rate temp.dbf *************************

步骤2:保存文本文件名为rate.txt。 步骤3:在命令窗口输入:DO rate.txt,按回车键执行。 (2)【操作步骤】

步骤1:通过一对多报表向导新建一个报表。 步骤2:添加表rate exchange作为父表,设置字段\外币

名称\作为选定字段。单击下一步。 步骤3:添加子表currency sl的全部字段。 步骤4:两个表之间建立的关系采用默认的方式,单击\下一步\。 步骤5:按要求设置排序。

步骤6:修改报表样式为\经营式\、方向为\横向\。

步骤7:输入报表标题为\外币持有情况\,保存报表名为\report\。

设计一个文件名和表单名均为currency_form的表单,所有控件的属性必须在表单设计器的属性窗口中设置完成。表单的标题为\外币市值情况\。表单中有一个\姓名\标签控件Label1、文本框控件Text1、一个表格控件Grid1和两个命令按钮\查询\和\退出\,如下图所示:

运行表单时,在文本框Text1中输入姓名,然后单击\查询\命令按钮,则在表格控件Grid1中会显示出他所持有的全部\外币名称\及对应的\人民币数量\,并按人民币数量降序排序,同

时将结果存储到自由表DBFA中。注意,某种外币相当于人民币数量的计算公式:人民币数量=该种外币的\现钞买入价\该种外币的\持有数量\。 单击\退出\按钮时关闭并释放表单。 运行该表单,查询\林诗因\的外币市值情况。 【操作步骤】

步骤1:在命令窗口输入:Create Form currency form,按下回车键新建表单。 步骤2:在属性窗口中修改表单的Name属性为currency form,Caption属性结果按类型号升序排列,并将查询结果输出到表TABB中。设计完成后,运行该查询。

2.修改命令文件THREE.PRG。该命令文件用来查询与\姚小敏\同一天入住宾馆的每个客户的客户号、身份证、姓名和工作单位,查询结果包括\姚小敏\。最后将查询结果输出到表TABC中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,AND 客房.客房号 = 入住.客房号; AND 房价.类型号 = 客房.类型号; AND 入住.退房日期>=ctod(ThisForm.Text1.value); ORDER BY 房价.价格 DESC; INTO TABLE tabd.dbf

*************************

步骤4:为\退出\命令按钮的Click事件编写程序代码: ThisForm.Release。

步骤5:保存并运行该表单。

◆◆◆◆◆◆宏图教育◆◆◆◆◆ 是\系名\和\工资\,Option1和Option2的标题分别是\按职工号升序\和\按职工号降序\。

(2)为\生成表\命令按钮编写Click事件代码,其功能是根据表单运行时复选框指定的字段和单选钮指定的排序方式生成新的自由表。如果两个复选框都被选中,生成的自由表命名为two.dbf,two.dbf的字段包括职工号、姓名、系名、工资和课程号;如果只有\系名\复选框被选中,生成的自由表命名为one_x.dbf,one_x.dbf的字为\外币市值情况\。在表单设计器窗口中为表单添加一个标签控件Label1(Caption属性为\姓名\,一个文本框控件Text1,一个表格控件Grid1和两个命令按钮Command1(Caption属性为\查询\、Command2(Caption属性 为\退出\。

步骤3:在表单空白处单击鼠标右键,在弹出的快捷菜单中单击\数据环境\项,添加表rate exchange和currency sl到表单的数据环境中。

步骤4:双击\查询\按钮,编写Click事件代码如下:

***查询按钮的Click事件代码**** select 外币名称,现钞买入价*持有数量 as 人民币数量;

from rate exchange,currency sl; where rate exchange.外币代码 = currency sl.外币代码 and currency sl.姓名 = ThisForm.Text1.Value; order by 人民币数量 desc; into dbf dbfa

ThisForm.Grid1.RecordSource = \

*************************

步骤5:双击\退出\按钮,编写Click事件代码如下: ThisForm.Release

步骤6:保存表单,并按题目要求运行表单。 ◆◆◆◆◆◆宏图教育◆◆◆◆◆ 在考生文件夹下,打开数据库\宾馆\,完成如下操作:

1.打开\客户\表,为\性别\字段增加约束规则:性别只能为\男\或\女\,默认值为\女\,表达式为:性别$\男女\。

2.为\入住\表创建一个主索引,索引名为fkkey,索引表达式为\客房号+客户号\。

3.根据各表的名称、字段名的含义和存储的内容建立表之间的永久联系,并根据要求建立相应的普通索引,索引名与创建索引的字段名相同,升序排序。

4.使用SQL的SELECT语句查询\客户\表中性别为\男\的客户号、身份证、姓名和工作单位字段及相应的记录值,并将结果存储到名为TABA的表(注意,该表不需要排序)。请将该语句存储到名为ONE.PRG的文件中。 【操作步骤】

(1)打开数据库\宾馆\,在数据库设计器中右键单击\客户\表,打开表设计器,选择\性别\字段,在其字段有效性规则栏中输入:性别﹩\男女\,在默认值栏中输入:\女\。

(2)在数据库设计器中右键单击\入住\表,打开表设计器,在\索引\选项卡中,索引名处输入:fkkey,类型选择\主索引\,表达式处输入:客房号+客户号。

(3)分别为\入住\表建立索引名和索引表达式均为\客房号\和\客户号\的普通索引,为\客房\表建立索引名和索引表达式均为\类型号\的普通索引。在数据库设计器中建立4个表的联系:选中\客户\表中的主索引\客户号\,按住鼠标拖动到\入住\表的普通索引\客户号\上,用同样的方法可以建立\客房\表和\入住\表的\客房号\之间的联系,\房价\表和\客房\表的\类型号\之间的联系。

(4)建立一个程序,编写如下代码: SELECT 客户号,身份证,姓名,工作单位 FROM 客户 WHERE 性别=\男\

保存程序名为one.prg,并运行该程序。

在考生文件夹下,打开\宾馆\数据库,完成如下简单应用:

1.使用查询设计器设计一个名为TWO的查询文件,查询房价价格大于等于280元的每个客房的客房号、类型号(取自客房表)、类型名和价格。查询

不能增加、删除或合并行。修改完成后,运行该命令文件。 (1)【操作步骤】

步骤1:新建一个查询,将\房价\和\客房\表添加到查询中,并按题目要求添加字段。

步骤2:在\筛选\选项卡中设置筛选条件。 步骤3:在\排序依据\选项卡中中选择字段\客房表.类型号\,在\排序选项\列表处选择\升序\。 步骤4:设置查询去向。

步骤5:保存查询名为two,最后运行该查询。

(2)【操作步骤】

打开程序文件THREE.PRG,对其中的命令进行修改为,如下为改后的程序语句。

************************* OPEN DATABASE宾馆

SELECT客户.客户号,身份证,姓名,工作单位;

FROM客户JOIN入住on客户.客户号=入住.客户号; WHERE入住日期IN; (SELECT入住日期; FROM客户,入住; WHERE客户.客户号=入住.客户号AND姓名=\姚小敏\; INTO TABLE TABC

************************* 保存并运行程序。

在考生文件夹下,先打开\宾馆\数据库,然后创建一个名为test的表单文件,如下图所示。

该表单完成如下综合应用:

向表单中添加一个标签(Label1)、一个文本框(Text1)和两个命令按钮。 标签的标题为\退房日期大于或等于\。

文本框用于输入退房日期。 两个命令按钮的功能如下: (1)\查询\按钮(Command1):在该按钮的Click事件代码中,通过SQL的SELECT命令查询退房日期大查询结果按类型号升序排列,并将查询结果输出到表TABB中。设计完成后,运行该查询。

2.修改命令文件THREE.PRG。该命令文件用来查询与\姚小敏\同一天入住宾馆的每个客户的客户号、身份证、姓名和工作单位,查询结果包括\姚小敏\。最后将查询结果输出到表TABC中。该命令文件在第3行、第5行、第7行和第8行有错误(不含注释行),打开该命令文件,直接在错误处修改,不可改变SQL语句的结构和短语的顺序,不能增加、删于或等于输入日期的客户的客户号、身份证、姓名、工作单位和该客户入住的客房号、类型名、价格信息,查询结果按价格降序排列,并将查询结果存储到表TABD中。表TABD的字段为客户号、身份证、姓名、工作单位、客房号、类型名和价格。 (2)\退出\按钮(Command2)的功能是关闭并释放表单。

表单设计完成后,运行该表单,查询退房日期大于或等于2005-04-01的顾客信息。 【操作步骤】

步骤1:新建一个名为test的表单,通过表单控件工具栏向表单添加控件。 步骤2:通过属性窗口设置表单及相关控件的属性。

步骤3:为\查询\命令按钮的Click事件编写程序代码:

***\查询\按钮的Click事件代码**** SET CENTURY ON SET DATE TO YMD

SELECT 客户.客户号, 客户.身份证, 客户.姓名, 客户.工作单位, 客房.客房号;

房价.类型名, 房价.价格; FROM 客户,房价,入住,客房; WHERE 客户.客户号 = 入住.客户号;

在考生文件夹下,完成如下操作: 1.打开考生文件夹下的表单one,如下图所示,编写\显示\命令按钮的Click事件代码,使表单运行时单击该命令按钮则在Text1文本框中显示当前系统日期的年份(提示:通过设置文本框的Value属性实现,系统日期函数是date(),年份函数是year())。 2.打开考生文件夹下的表单two,如下图所示,选择\表单\菜单中的\新建方法程序\命令,在\新建方法程序\对话框中,为该表单新建一个test方法,然后双击表单,选择该方法编写代码,该方法的功能是使\测试\按钮变为不可用,即将该按钮的Enabled属性设置为.F.。 3.创建一个名为study_report的快速报表,报表包含表\课程表\中的所有字段。

4.为\教师表\的\职工号\字段增加有效性规则:职工号左边3位字符是110,表达式为:LEFT(职工号,3)=\。 【操作步骤】

(1)利用\文件\菜单下的\打开\命令来打开表单one,或使用命令MODIFY FORM one打开表单one。在\显示\命令按钮的Click事件中输入代码:ThisForm.Text1.Value=year(date())。保存并运行修改后的表单,查看运行结果。

(2)打开表单two,在\表单\菜单中选择\新建方法程序\命令,新建一个名为test的方法,在属性窗口中双击此方法,在弹出的窗口中编写用户自定义过程代码:ThisForm.Command1.Enabled=.f.,在表单设计器环境下双击\测试\命令按钮,编写Click事件代码:ThisFrom.Test。保存并运行修改后的表单,查看运行结果。

(3)创建一个快速报表。预览报表,查看设计后的效果。

(4)在命令窗口输入命令:alter table 教师表 alter 职工号 set check LEFT(职工号,3)=\,按下回车键。

在考生文件夹下完成如下简单应用: 1.打开\课程管理\数据库,使用SQL语句建立一个视图salary,该视图包括系号和平均工资两个字段,并且按平均工资降序排列。将该SQL语句存储在four.prg文件中。

2.打开考生文件夹下的表单six,如下图所示,\登录\命令按钮的功能是:当用户输入用户名和口令以后,单击\登录\按钮时,程序在自由表\用户表\中进行查找,若找不到相应的用户名,则提示\用户名错误\,若用户名输入正确,而口令输入错误,则提示\口令错误\。修改\登录\命令按钮Click事件中标有错误的语句,使其能够正确运行。注意:不得做其他修改。 (1)【操作步骤】

步骤1:打开考生文件夹下的数据库文件\课程管理\。 步骤2:新建一个程序,输入如下代码。 CREATE sql VIEW salary AS SELECT 教师表.系号, AVG(教师表.工资) AS 平均工资 FROM 教师表;

GROUP BY 教师表.系号 ORDER BY 2 DESC

步骤3:保存程序名为four.prg,并运行该程序。

(2)【操作步骤】

步骤1:打开考生文件夹下的表单six.scx,修改其中的错误语句。 步骤2:保存并运行表单。

在考生文件夹下完成下列操作: (1)建立一个表单名和文件名均为myform的表单,如下图所示。表单的标题为\教师情况\,表单中有两个命令按钮(Command1和Command2),两个复选框(Check1和Check2)和两个单选按钮(Option1和Option2)。Command1和Command2的标题分别是\生成表\和\退出\,Check1和Check2的标题分别

段包括职工号、姓名、系名和课程号;如果只有\工资\复选框被选中,生成的自由表命名为one_xx.dbf,one_xx.dbf的字段包括职工号、姓名、工资和课程号。

(3)运行表单,并分别执行如下操作: ① 选中两个复选框和\按职工号升序\单选钮,单击\生成表\命令按钮; ② 只选中\系名\复选框和\按职工号降序\单选钮,单击\生成表\命令按钮;

③ 只选中\工资\复选框和\按职工号降序\单选钮,单击\生成表\命令按钮。

【操作步骤】

步骤1:新建一个表单文件,通过表单控件工具栏向表单中添加各控件,并将\教师表\和\学院表\添加到表单的数据环境中。

步骤2:通过属性窗口设置表单及各控件的相关属性。

步骤3:为生成表命令按钮编写Click事件代码:

*****\生成表\按钮的Click事件代码*****

a=ThisForm.Check1.Value b=ThisForm.Check2.Value c=ThisForm.Optiongroup1.Option1.Value d=ThisForm.Optiongroup1.Option2.Value

if a=1 and b=1 if c=1

select 职工号,姓名,系名,工资,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号; into table two.dbf else if d=1

select 职工号,姓名,系名,工资,课程号 from 教师表,学院表; where 教师表.系号=学院表.系号; order by 职工号 desc; into table two.dbf endif endif endif

if a=1 and b=0 if c=1

select 职工号,姓名,系名,课程号 from 教师表,学院表;

where 教师表.系号=学院表.系号; order by 职工号; into table one x.dbf else if d=1

select 职工号,姓名,系名,课程号 from 教师表,学院表;

where 教师表.系号=学院表.系号; order by 职工号 desc; into table one x.dbf endif endif endif

if a=0 and b=1 if c=1

select 职工号,姓名,工资,课程号 from 教师表,学院表;

where 教师表.系号=学院表.系号; order by 职工号; into table one xx.dbf else if d=1

select 职工号,姓名,工资,课程号 from 教师表,学院表;

where 教师表.系号=学院表.系号; order by 职工号 desc; into table one xx.dbf endif endif endif

*************************

步骤4:保存表单名为myform,按题目


VF上机题库110.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:随州施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: