当前位置:文档之家› VFP上机考试题库

VFP上机考试题库

1 页

myform.scx

作:

1、在属性窗口中设置表单的有关属性,

开时在VFP主窗口内居中显示。

2、在属性窗口中设置表单的有关属性,

Center、East、South、West和North

都设置为宽60、高25。

3、将West、Center和East

齐;将North、Center和South

对齐。

4、按Center、East、South、West、North

置各按钮的Tab键次序。

解析:1、(1)打开并修改表单

MODIFY FORM myform

(2)在表单的“属性”窗口中,在AutoCenter处选择“.T.”

2、(1)打开并修改表单MODIFY FORM myform

(2)先按住Shift键,再依次选中这5个按钮,在

处输入“60”,在Height处输入“25”。

3、(1)打开并修改表单MODIFY FORM myform

(2)先按住Shift键,再依次选中West、Center和

这3个按钮,在Top处输入一个数。

(3)先按住Shift键,再依次选中North、Center和

这3个按钮,在Left处输入一个数。

4、(1)打开并修改表单MODIFY FORM myform

(2)单击“Center”按钮,在“属性”窗口的TabIndex

“1”;

(3)单击“East”按钮,在“属性”窗口的TabIndex

“2”;

(4)单击“South”按钮,在“属性”窗口的TabIndex

“3”;

(5)单击“West”按钮,在“属性”窗口的TabIndex

“4”;

(6)单击“North”按钮,在“属性”窗口的TabIndex

1

xuesheng表和changji表中查询数学、

术三门课中至少有一门课在90分以上(含)

技术5

为表table1。最后将查询保存在query1.qpr

并运行该查询。

2、首先创建数据库cj_m,并向其中添加

表和chengji表。然后在数据库中创建视图view1

询结果包含学号、姓名、英语3

序。最后利用刚创建视图view1

息,并将查询结果存放在表table2中

解析:1、(1)在命令窗口中输入建立查询命令

QUERY query1

(2)在“打开”对话框中,选择表“xuesheng”再按“确定”

钮,在“添加表或视图”对话框中,单击“其他”

选择表“chengji”再按“确定”按钮,在“联接条件”

中,直接按“确定”按钮。在“添加表或视图”中,再按“

闭”。

(3)单击“字段”

“选定字段”列表框中。

(4)单击“筛选”选项卡,在“字段名”选择“Chengji.数学”

在“条件”处选择“>=”在“字段名”,在“实例”处输入“90”

在“逻辑”处选择“OR”;移到下一个条件处,在“字段名

选择“Chengji.英语”,在“条件”处选择“>=”,在“实例”

输入“90”,在“逻辑”处选择“OR”;

在“字段名”选择“Chengji.信息技术”,在“条件”

“>=”,在“实例”处输入“90”。

(5)单击“排序依据”选项卡,选择“Xuesheng.学号”

择“降序”,接着单击“添加”按钮。

(6)单击“查询\输出去向”菜单项,在“查询去向”

中,单击“表”按钮,在“表名”处输入“table1”,再单击“

定”按钮。

(7)保存该查询并运行。

2、(1)创建数据库CREATE DATABASE cj_m

(2)添加表到数据库中

ADD TABLE xuesheng

ADD TABLE chengji

(3)打开并修改数据库

MODIFY DATABASE cj_m

(4)单击“文件\新建”菜单项,在“新建”对话框中选择“

图”单选钮,再单击“新建文件”。在“添加表或视图

对话框中,双击表“xuesheng”(或单击选中

“xuesheng”,接着单击“添加”按钮),再双击表“chengji”

在“联接条件”对话框中直接单击“确定”

“添加表或视图”对话框中,单击“关闭”

此对话框。

(5)单击“字段”

“选定字段”列表框中。

(6)单击“筛选”选项卡,“字段名”选择“Xuesheng.民族”

在“否”处打勾(表示条件相反),在“条件”处选择“=”,

“实例”处输入“"汉"”。

(7)单击“排序依据”选项卡,选择“Chengji.英语”

“添加”按钮。选择“Xuesheng.学号”

“排序条件”

“升序”单选钮。

“保存”

“copy to table2”

中。

table3

(10)

(6)

(8)

(5,1)

,从xuesheng表和

(分数小于60)

)

)。表table3

SET RELATION命令建立chengji

(同时用INDEX

DO WHILE

CREATE TABLE table3(

课程名C(8), 分数N(5,1))

文件中编写如下程序:

学号

into xuesheng

xuesheng.学号,姓名with

with "数学",分数with chengji.数学

xuesheng.学号,姓名with

with "英语",分数with chengji.英语

xuesheng.学号,姓名with

with "信息技术",分数with chengji.

/d to ttt1

SCORE_MANAGER,该数据库中含

STUDENT、SCORE1和COURSE,

(N,2,0)。

“成绩”

“成绩”

“学号”

“score1”表中的索引键为“学号”处,

“课程号”并按住不放,

“score1”表中的索引键为“课程号”

-SCORE_MANAGER”

“修改”命令项。

COURSE.dbf”

”,然后选择类型为“数值型”

“确定”按钮即可。

-SCORE_MANAGER”

“修改”命令项。

中,选择“成绩”

“规则”处输入“成绩>=0”,在“信息

"”,最后单击“确定

-SCORE_MANAGER”中,

-SCORE_MANAGER”

“修改”命令项。

中,选择字段名为“成绩”

(允许空值),最后单击“确定”

-SCORE_MANAGER”中,

(计算年龄的公式是:2003-Year(

)

。使用报表向导建立报

NEW_TABLE1

(条形菜单)

返回到VFP系统菜单(

)。

姓名,2003-YEAR(出生日期) AS

\报表”菜单项,并显示“向导选取

选择“报表向导”并单击“

“报表向导”对话框。

“步骤1-字段选取”

,在“数据库和表”

,接着在“可用字段”

“完成”按钮。

“步骤6-完成”中,在“

“姓名-年龄”,单击“完成”。

”对话框中,输入保存报表

,再单击“保存”按钮,

“菜单”按钮。

- query_menu.mnx”

”和“退出”。

“结果”选择“命令”,并在“选项”

和COURSE。

数据库数据进行查询,

Myform1(控件名为form1,

(名称为Label1

(名称为Text1)

Command1)和“退出”(

1个表格控件。

Grid1)形式显示该生所选课程名

CREATE

”中,在“属性”的Caption处输入“

”中,添加一个标签控件,在“属性

“输入学号”。再在“学号”

“Text1”。

”中,添加一个表格控件,在“属性

处选择“4 - SQL 说明”。

”中,添加两个命令按钮,单击第

”的Caption处输入“查询”,单击第

“属性”的Caption处输入“退出”。

在“Command1.Click”编辑窗口

请重新输入" WINDOWS TIMEOUT

课程名,成绩from

学号=alltrim(ThisForm.Text1.Value)

=course.课程号into cursor temp1"

在“Command2.Click”编辑窗口

“订单管理”的数据库,并将已有

和goods三个表添加到该数据库

order表建立一个普通索引,索

year(签订日期)”。

在order表和orderitem表之间建

更新规

“级联”,插入规则为“限

订单管理

订单管理

订单管理

-订单管理”中,选择表“order”并单

“修改”命令,在“表设计器-order.dbf”

“nf”,选择

”,表达式为“year(签订日期)”,最后

“是(Y)”就可以建立索引了。

订单管理

-订单管理”中,选择表“order”并单

“修改”命令,在“表设计器-order.dbf”

“订单号”,

”,表达式为“订单号”,最后单击

“是(Y)”就可以建立索引了。

-订单管理”中,选择表“orderitem”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“普通索引”,表达式为“订单

”按钮,再单击“是(Y)”就可以建立

-订单管理”中,然后选择“order”表

”并按住不放,然后移动鼠标拖到

“订单号”处,松开鼠标即

双击关系线,并显

“参照完整性”按钮,

”。

”对话框中,单击“更新规则”

“限制”单选按钮,单击“删除规则”选

”单选按钮,单击“插入规则”选项

”单选按钮,接着单击“确定”按钮,

“是”按钮,这样就生成了指定参照

order、orderitem

2001年签订的所有定单的信息,

queryone.qpr文件

myform.scx,其中

一个文本框和一个命令按钮(不要改

按钮的Click事件代码,使得当表单

2 页 共 30 页

单号、签订日期、商品名、序排序,并将查询结果存放在表tabletwo 中。 lilan ,并单击“确定”完成查询。 解析:1、(1)在命令窗口中输入建立查询命令QUERY queryone (2)在“添加表或视图”对话框中,选中表“order”再按“加”按钮,再选中“orderitem”也按“添加”按钮,再继续选中“goods”也按“添加”按钮,在“联接条件”直接按“确定”按钮。在“添加表或视图”中,再按“关闭按钮。 (3)单击“字段”选项卡,选择试题要求的字段添加到“选定字段”列表框中。 (4)单击“排序依据”选项卡,选择“Order.订单号”“降序”,接着单击“添加”按钮,再选择“Goods.商品名选择“降序”,单击“添加” (5)单击“筛选”选项卡,在“字段名”列表框选择“<表达式...>”中,在“表达式生成器”对话框的“表达式文本框中输入“year(Order.签订日期)”后,单击“确定”按钮,着在“条件”列表框中选择“<=”,最后在“实例”输入“2001”。

(6)单击“查询\输出去向”菜单项,在“查询去向”中,单击“表”按钮,在“表名”处输入“tableone”,再单击“确定”按钮。 2、select order.订单号,签订日期,goods.商品名,goods.单价,orderitem.数量 ; from order, orderitem, goods ; where order.订单号=orderitem.订单号 and orderitem.商品号=goods.商品号 and 客户名=thisform.text1.value ; order by order.订单号,商品名 ; mymenu.mnx 并生菜单mpr 行该菜单程序时会在当前vfp 一个“考试”子菜单,如下图所示。 程完成。

菜单命令“计算”的功能是计算各商品在2001订购总金额(零)。计算结果保存在tablethree 序。 提示:可分两步完成,首先从表order 和中获取2001年订单有关商品数量的信息,临时表中;然后再将表goods 并完成总金额的计算。

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

解析:(1)建立菜单文件REATE MENU mymenu

在“新建菜单”对话框中,单击“菜单”按钮。 (2)在“菜单设计器-mymenu.mnx ”中,在“菜单名称”入“考试”,再单击“创建”按钮来建立子菜单,在“名称”中输入“计算”,再移到下一个菜单项处中输入“返回”。 (3)选中“计算”子菜单项,在“结果”中选择“过程”“创建”,在“菜单设计器-mymenu.mnx-统计 过程”入下列语句: close data create table tablethree(商品名 C(20),总金额 N(7,2)) use select 1 use tablethree select 4 use order index on 订单号 to n1 select 3

use orderitem index on 商品号 to n2 set relation to 订单号 into d select 2

use goods index on 商品名 to n3 set rela to 商品号 into c go top do while .not.eof() h = 商品号 j = 单价

n = 商品名 s = 0

select 3 do while 商品号=h if year(order.签订日期)=2001 s=s+数量*j endif skip enddo

select 1 append blank repl 商品名 with n,总金额 with s

在“结果”中选择“过程”-mymenu.mnx-返回 过程””菜单项,在“常规选项”“追加”单选钮,再单击“确定””窗口下,单击“菜单”“”文件。 myform.scx Text1 myform 。

mymethod 的方法,”+this.text1.value window ”标签中的字母s 设置成\<”) Caption 处输入“表单操作”,在Name

在其“属性”的TabIndex 处输入“1”在其“属性”的TabIndex 处输入“2”命令按钮,在其“属性”的TabIndex -myform.scx ”中,单击“表单\新建“新建方法程序”对话框“mymethod ”,先单击“添加”按钮,再 “方法程序”选项卡,找到 编辑窗口中,输入“wait "”。 在其“属性”的Caption 处“在s ”。 order 、orderitem 和goods 表包含订单的基本信息,goods 表包含商品(图书order 、tableone 文件中,并运行该查询。 order_m ,并向其中添加order lilan 中。 “order ”再按“确定””对话框中,单击“其他”“确定”按钮,在“联接条件”再单击“其他”按钮,选择表“goods 在“联接条件”对话框中,直接按““添加表或视图”中,再按“关闭”“Order.订单号”、“Order.客”、“Goods.商品名”、“Goods.”,在“函数和表达式”处输入“ AS 金额”并单击“添加”按钮。

”选项卡,选择“Order.订单号”“添加”按钮,再选择“Goods.商品名“添加”按钮。

”菜单项,在“查询去向”“表名”处输入“tableone ”,再单 ”菜单项,在“新建”对话框中选择““新建文件”。在“添加表或视图”“order ”(或单击选中表“order ”,再双击表“orderitem ”,在“联接条件“确定”按钮,接着双击表“goods ”“确定”“关闭”

”选项卡,选择“Order.订单号”“添加”按钮。再选择“Goods.商品名“添加” 在“字段名”中,选择“Order.“=”,再在“实例”处输入“lilan ”。 “保存”对话框中输入视图名“copy to tabletwo “tabletwo ”中。 formone.sc x (Command1) 按钮的Click 事件代码,()的订购信息,中。 a00002 ”中,在其“属性”的Caption 处输入“”中,添加一个标签Label1,在其““商品号:”。 ”中,分别添加一个文本框Text1,在其“属性”的Caption 处输入在“Command1.Click ” and 商品号=thisform.text1.value)

,客户名,签订日期,商品名,单价,=orderitem.订单号 and orderitem.

and goods.商品号 ; 、order_list 和customer 。 和表order_detail 间的永久联系()。 “级联”,插入规则为 ”命令项,选择“文件类型””。 -订货管理”“添加表”命令项,、order_list 和customer)。 \打开”命令项,选择“文件类型””。 -订货管理”中,选择表“修改”命令项。

der_list.dbf”中,选择“索引””,选择类型为“主索引” -订货管理”中,选择表

“修改”命令项。 中,选择“索引”选项卡,”,选择类型为“普通索引”,表达

表中主索引键“订单号”并按住不放,“order_detail”表中的索引键为“订单 双击关系线,并显

“参照完整性”按钮,并显示”。 ”中,单击“更新规则”选项卡,

“删除规则”选项卡,并

“插入规则”选项卡,并选

接着单击“确定”按钮,并显示“是”,最后

(将结果先按“订单号”升序排列,

“单价”降序排列),并将结果存储

oeder_detail 表结构相同)。

form1表单文件,其中三个命请按如下要): “三益贸易公司”的客户号为 理!order_list INNER JOIN 订货管 = Order_detail.订单号;

客户号 = "C10001";

订单号, Order_detail.单价 ”按钮,在“Command1.Click”中进行修Thisform.Caption="”按钮,在“Command2.Click”中进行修表中的记录,所以应改为:

”按钮,在“Command3.Click”中进行修Thisform.Release 表增加一个新字段:新单价(类新

),然后编写满足如下要求的

表中的“订购日期”字段的值

表的“新单价”字段的值,原则是:

年的“新单价”字段的值为原单价

2002年的“新单价”字段的值

注意:在修改操作过程中不要改

),最后将程序保存为 Foxpro 的“快速报表”功能建立order_detail report1.frx 。 : ALTER TABLE order_detail ADD F(10,2) 新单价=单价*0.9 WHERE 订 FROM order_list WHERE 订单 AND YEAR(订购日期)=2001) 新单价=单价*1.1 WHERE 订 FROM order_list where 订单号

AND YEAR(订购日期)=2002) ” \报表”菜单项,并显示“向导选取”

”对话框中,选择“报表向导”并单击“报表向导”框。

”对话框的“步骤1-字段选取”中,首先

,在“数据库和表”列表框中,选

,接着在“可用字段”列表框中显示表

“完成”按钮。 ”对话框的“步骤6-完成”中,单击“完”对话框的“保存报表为”中输入报

3 页

在考生文件夹下有一表单文件myform.scx

含“高度”标签、Text1文本框,以及“确定”

完成如下操作:

1、将标签、

对齐。

2、设置“确定”按钮的属性使在表单运行时按

键就可以直接选择该按钮。

3、将表单的标题设置为“表单操作”

称设置为myform。

4、设置“确定”按钮的Click

本框中指定的值。

解析:1、(1)打开并修改表单

MODIFY FORM myform

(2)先按住Shift键,再依次选中标签、

钮这三个控件,并在其“属性”的Top处输入一个数。

2、(1)打开并修改表单

MODIFY FORM myform

(2)选中"确定"命令按钮,并在其“属性”窗口的Default

处选择.T.。

3、(1)打开并修改表单

MODIFY FORM myform

(2)在其“属性”的Caption处输入“表单操作”,在

处输入“myform”。

4、(1)打开并修改表单

MODIFY FORM myform

(2)双击“确定”

order、orderitem的goods

表。其中,order表包含订单的基本信息,

表包含订单的详细信息,goods表包含商品(图书

的相关信息。

1、利用查询设计器创建查询,从order、

和goods表中查询客户名为lilan

息,查询结果依次包含订单号、客户名、

向为表tableone。最后将查询保存在queryone.qpr

件中,并运行该查询。

2、首先创建数据库order_m,并向其中添加

和orderitem表。然后在数据库中创建视图viewone

利用该视图只能查询商品号为a00002

存放在表tebletwo中。

解析:1、(1)在命令窗口中输入建立查询命令

QUERY queryone

(2)在“打开”对话框中,选择表“order”再按“确定”

在“添加表或视图”对话框中,单击“其他”

表“orderitem”再按“确定”按钮,在“联接条件”

直接按“确定”按钮,再单击“其他”按钮,选择表“goods

再按“确定”按钮,在“联接条件”对话框中,直接按“

定”按钮。最后在“添加表或视图”中,再按“关闭”

(3)单击“字段”选项卡,选择试题要求的字段添加到

“选定字段”列表框中。

(4)单击“排序依据”选项卡,选择“Order.订单号”

“降序”,接着单击“添加”按钮,再选择“Goods.商品名

也选择“降序”,接着单击“添加”按钮。接着在“条件”

列表框中选择“=”,最后在“实例”文本框中输入“lilan”

(5)单击“查询\输出去向”菜单项,在“查询去向”

中,单击“表”按钮,在“表名”处输入“tableone”,再单

击“确定”按钮。

(6)按“Ctrl+W”键保存该查询并运行。

2、(1)创建数据库

CREATE DATABASE order_m

(2)添加表到数据库中

ADD TABLE order

ADD TABLE orderitem

(3)打开并修改数据库

MODIFY DATABASE order_m

(4)单击“文件\新建”菜单项,在“新建”对话框中选择“

图”单选钮,再单击“新建文件”。在“添加表或视图”

对话框中,双击表“order”(或单击选中表“order”

单击“添加”按钮),再双击表“orderitem”,在“联接条件

对话框中直接单击“确定”按钮,接着在“添加表或视

图”对话框中,单击“关闭”按钮,来关闭此对话框。

(5)单击“字段”选项卡,选择试题要求的字段添加到

“选定字段”列表框中。

(6)单击“排序依据”选项卡,选择“Order.订单号”

“升序”,接着单击“添加”按钮。

(7)单击“筛选”选项卡,在“字段名”中,选择“

商品号”,在“条件”处选择“=”,再在“实例”处输入

“a00002”。

(8)保存该视图,在“保存”对话框中输入视图名

“viewone”。

(9)运行该查询,并在命令窗口输入“copy to tabletwo”

“tabletwo”中。

夹下创建一个下拉式菜单

mymenu.mnx,并生成菜单程序mymenu.mpr。运行

该菜单程序时会在当前vfp

语句在order

7

表和goods

运行菜单程序并依次执行

“菜单”按钮。

-mymenu.mnx”中,在“菜单名称”

“创建”按钮来建立子菜单,在“

”,再移到下一个菜单项处中输入

在“结果”中选择“过程”

-mymenu.mnx-统计过程”

总金额N(7,2)

to t1

into c

to t2

into b

单价

with s

在“结果”中选择“过程”

-mymenu.mnx-返回过程”

”菜单项,在“常规选项”

“追加”单选钮,再单击“确定”

”窗口下,单击“菜单”

“”文件。

formtest.scx

(Label1)

8

,其他属性使用默认值;

Timerfor的时间间隔(Interval)

”中,在“属性”的Caption处输入“

”中,添加一个标签Label1,在其“

“欢迎使用考试系统”,在

”中,添加一个计时器控件,在其“

“Timefor”。

Timerfor,在其“属性”的

employee

中;同时把所用SQL

提示:表中无年龄字段,

cylinder.prg,

*****found*****

)。

TOP 5 姓名,出生日期

出生日期INTO TABLE emage

calculator

1(Label1)

(分别为Text1和Text2)

他字符输入),通过选项

4各按钮可任意排列)

,Option2为“-”,Option3为“*”

)

(Label3)

DO CASE

CASE

,按钮标题为“关闭”

CREATE FORM calculator

”中,在其“属性”的Name

处输入“计算器”。

”中,依次建立三个Label1、

Caption

、“操作数2”和“计算结果”。

”中,依次建立三个Text1、Text2

Text3的Enable属性选择“.F.”

”中,添加一个“选项按钮组”,其“

处输入“4”,

的值。

”中,添加两个命令按钮

1个命令按钮Command1“属性

“计算”,在第2

的Caption处输入“关闭”。

在“Command1.Click”

在“Command2.Click”

,并将自由表

并建立表employee和表

view_ca

按年龄将序排序(

出生日期))。

Visual Foxpro系统后,

”对话框

”命令项,弹出“新建”框

选择“数据库”单选钮,再按“

“创建”对话框。

“orders_manage”

“保存”按钮,

-orders_manage”对话框。

”命令项,选择“文件类型”

-orders_manage”中单击鼠标右键,

选择“添加表”命令,并选择相应的表

和orders)。

修改数据库MODIFY DATABASE

-orders_manage”中,选择表

“修改”命令,在“表

中,单击“索引”选项卡,然后输

”,选择类型为“主索引”,表达式为

“确定”,再单击“是(Y)”这样索引

-orders_manage”中,选择表

“修改”命令,在“表设

“索引”选项卡,然后输入索

“普通的索引”,表达式为

“确定”按钮,再单击“是(Y)”这样

-orders_manage”中,然后选择

“职工号”并按住不放,然后移

表中的索引键为“职工号”处,松开

职工订单管理

\新建”命令项,弹出“新建”对话框。

“项目”单选钮,再按

“创建”对话框。

“职工订单

“保存”按钮,这样就可以建

“项目管理器”对话框。

“数据”选项卡中,选择“数

”按钮。

开”对话框中,选定库文件

,然后单击“确定”命令按钮即可。

-职工订单管理”中,展开“数据

,再选中“本地视图”,单

“新建本地视图”对话框,再单击

“添加表或视图”对话框,双

“关闭”按钮。

-视图1”中,单击“字段”选项卡,

”、“Employee.姓名”,接着在“函

“YEAR(DATE())-YEAR(出生日期)

“添加”按钮。

-视图1”中,单击“排序依据”选项卡,

-YEAR(出生日期) AS 年龄”并选中

“view_ca”,再单击“确

report_c,选择父表

view_cb,视图中显示每

(签订订单金额合计)

姓名及其所签订的总金额,

中。

“工具\向导\报表”菜单项,并显示“向

“一对多报表向导”并

“一对多报表向导”对话框。

”对话框的“步骤1-从父表选择

“employee”,在“数据库和表”

“employee”,接着在“可用字段”列表

的所有字段名,并选定“仓库

”至“选定字段”列表框中,单击“下

”对话框的“步骤2-从子表选择字

“orders”,在“数据库和表”列表

,接着在“可用字段”列表框中显

(除

”列表框中,单击“下一步”。

”对话框的“步骤3-为表建立关

”按钮。

”对话框的“步骤4-排序记录”

”和选择“升序”单选按钮,再单击“添

”。

”对话框的“步骤5-选择报表样

”,单击“下一步”按钮。

”对话框的“步骤6-完成”中,在

“职工订单汇总”,单击“完

“report_c”,

中存放

as select employee.职工号,姓

总金额from employee,orders where

=orders.职工号group by employee.职

金额)>=15000 order by 总金额asc

4 页

共30 页

myform_c,表单标题为“职工订单信息”,

如图所示,共有三个文本为职工号(Label1)

(Label2)和性别(Label3)的标签,

框Text1、Text2和Text3,和一个表格控件Grdorders

其他功能如下:

1、程序运行时,在文本框Text1

的值,并单击DO(Command1)按钮,然后在Text2

本框中显示职工的姓名,在Text3

工的性别,在表格控件(Grdorders)

订单(orders表)的信息。

2、单击Close按钮(Command2)关闭表单。

注意:在表单设计器中将表格控件Grdorders

源类型设置为SQL语句。

解析:(1)建立表单

CREATE FORM myform_c

(2)在“表单设计器”中,在“属性”的Caption处输入“

订单信息”,在Name处输入“myform_c”。

(3)在“表单设计器”中,添加三个标签,在第1

Label1“属性”的Caption处输入“职工号”,在第2

签Label2“属性”的Caption处输入“姓名”,在第3

签Label3“属性”的Caption处输入“性别”。

(4)在“表单设计器”中,添加三个文本框,Text1、

和Text3。

(5)在“表单设计器”中,添加一个表格Grid1,在其“

性”的Name处输入“Grdorders”,在

处选择“4-SQL说明”。

(6)在“表单设计器”中,添加两个命令按钮,在第

个命令按钮“属性”的Caption处输入“DO”,在第2

令按钮“属性”的Caption处输入“Close”。

(7)在“表单设计器”中,双击“Command2”命令按钮,

“Command2.Click”编辑窗口中输入“Release Thisform”,

着关闭编辑窗口。

(8)在“表单设计器”中,双击“Command1”命令按钮,

“Command1.Click”

闭编辑窗口。

zgh=ALLTRIM(ThisForm.Text1.Value)

If Used("employee")

SELECT employee

ELSE

USE employee

ENDIF

LOCATE FOR 职工号=zgh

ThisForm.Text2.Value=姓名

ThisForm.Text3.Value=性别

ThisForm.Grdorders.RecordSource="SELECT * FROM

orders WHERE

打开SELLDB数据库,完成如下

基本操作:

1、创建“客户表”(客户号,客户名,销售金额)

其中:客户号为字符型,宽度为4

型,宽度为20;销售金额为数值型,宽度为9(

小数2位)。

2、为第1

索引名和索引表达式均为“客户号”。

3、为“部门成本表”增加一个字段,字段名为

注”,数据类型为字符型,宽度为20。

4、先选择“客户表”为当前表,

为P_S

一览表”。

解析:1、OPEN DATABASE SELLDB

CREATE TABLE 客户表(客户号C(4), 客户名C(20),

销售金额N(9,2))

2、(1)打开并修改数据库

MODIFY DATABASE selldb

(2)在“数据库设计器-Selldb”中,选择表“客户表”

鼠标右键,选择“修改”命令,在“表设计器-客户表.dbf

中,单击“索引”选项卡,然后输入索引名“客户号”

选择类型为“主索引”,表达式为“客户号”

“确定”按钮,再单击“是(Y)”就可以建立索引了。

3、ALTER TABLE 部门成本表ADD COLUMN 备注

C(20)

4、(1)选择"客户表"为当前表

(2)在命令窗口输入建立报表命令

CREATE REPORT p_s

(3)单击“报表\快速报表”菜单项,在“打开”

择表“客户表”并单击“确定”按钮。

(4)在“快速报表”对话框中,单击“确定”按钮。

(5)单击“报表\标题/总结”菜单项,在“标题/总结”对话

框的“报表标题”框中的“标题带区”打勾,再单击“确定

”工具栏没显示,则单击“显示\

“标题”区添加一个标签,用

”。

SELLDB

three.prg,

TABA中。表

“部门号”、“部门名”、

three.prg

2005

account中,将SQL语句存入

three.prg正确的内容如下:

.部门号, 部门表.部门名, 销售表.商

.商品名,;

+ 销售表.二季度利润+ 销售表.

.四季度利润AS 年销售利润;

部门表ON 销售表.部

部门号);

;

= 商品代码表.商品号;

.年度= "2006";

.部门号, 5 DESC INTO TABLE TABA

.部门号, 部门名, SUM(一季度利润+

+ 四季度利润) AS

部门表ON 销售表.部门号=

.年度= "2005";

.部门号INTO TABLE LS

.部门号, 部门名, SUM(一季度利润)

二季度利润) 二季度利润,SUM(三

,SUM(四季度利润) 四季度利

;

.部门号= 销售表.部门号AND 年

.部门号;

.部门号INTO TABLE account

SELLDB

XS的表单,如下图所示。

“部门号”

(Text2);

(Command1):在该按钮的Click

“商品号”、“商品名”、

xs+

02

“商品号”、

“二季度利润”、

(Command2):关闭并释放表单。

RecordSourceType属性设置为

02,

CREATE FORM xs

-xs.scx”中,在“属性”的Caption

-xs.scx”中,添加两个标签,在第1

”的Caption处输入“部门号”,在第2

”的Caption处输入“年度”。

-xs.scx”中,添加两个文本框(Text1

-xs.scx”中,添加一个表格Grid1,在

处选择“4 - SQL 说明”。

-xs.scx”中,添加两个命令按钮,在

属性”窗口的Caption处输入“查询”,

属性”窗口的Caption处输入“退出”。

”中,双击“查询”命令按钮,在

编辑窗口中输入下列语句,接着关

销售表.商品

, 二季度利润, 三季度利润

商品代码表ON 销售表.商品

.商品号;

= X1 AND 年度

.商品号, 商品名, 一季度利润,

, 四季度利润;

商品代码表ON 销售表.商品

.商品号;

= X1 AND 年度= X2 INTO TABLE

”中,双击“退出”

编辑窗口中输入“Release Thisform”

DB

语句将表TABB

2005-10-01,并将SQL

的文件中。

用SQL语句将表

(

)。并将SQL的SELECT

的文件中。

要求选择

,方向为“横向”

报表标题为

日期D

中存放:

日期= {^2005.10.01}

中存放:

\向导\报表”菜单项,并显示“

选择“报表向导”并单击“

“报表向导”框。

“步骤1-字段选取”

“数据库和表”

”列表框中显示表taba

“选定字段”

”按钮。

“步骤2-分组记录”

“步骤3-选择报表样式”

随意式”,单击“下一步”按钮。

“步骤4-定义报表布局”

“1”,在“方向”处选择“横向”,在“

”,单击“下一步”按钮。

“步骤5-排序次序”

“升序”,再单击“添加”按钮,单击“

“步骤6-完成”中,在“

“计算结果一览表”,单击“完成”。

输入保存报表名“p_one”,

DB

FOUR.PRG的程序,根据表

,b,c

x1和x2,并将两个根

x1和x2

x2字段写入空值.NULL.;在note

实数解”。

testA的表单,表单界面上有两个

30;宽度为:80;“退出”

Click事件中使用SQL

TABA中查询“无实数解”的

中;

four.prg中存放:

无实数

同时选中“查询”和“退出”两个按钮,

处输入“80”,在Height处输入“30”,

在Command1.Click编辑窗口中输

无实数解" into

在Command2.Click编辑窗口中输

语句,并关闭编辑窗口。

打开SDB数据库,完成如下应用:

“查询”、文件名为testb的表单,

向数据环境添加“学生表”。

一个文本框、一个表

(Label1);

(Text1);表格控件用

:在该按钮的Click事件中

命令从“学生表”中查询学生

TABE中。

TABE之前,应将表TABE

表是已经建立好的表,它与学生

:的功能是关闭和释放表

RecordSourceType属性设置为

CREATE FORM testb

”中,在“属性”的Caption处输入“查

处选择“.T. - 真”。

”菜单项,在“打开”对话框中双

“关闭”来关闭“添加表或视图”

-testb.scx”中,添加一个标签Label1,

处输入“学生注册日期”。

-testb.scx”中,添加一个文本框Text1。

-testb.scx”中,添加一个表格Grid1,

处选择“4 - SQL 说明”。

-testb.scx”中,添加两个命令按钮,

“属性”窗口的Caption处输入“查

“属性”窗口的Caption处输入

”中,双击“查询”命令按钮,在

编辑窗口中输入下列语句,接着关

= "SELECT 学号,姓名,年

FROM 学生表; WHERE 注

ORDER

,年龄,性别,班级,注册日期;

册日期=

年龄

5 页

USE TABE

ZAP

APPEND FROM ls

USE

(9)在“表单设计器”中,双击“退出”

“Command2.Click”编辑窗口中输入“Release Thisform”

1、将当前文件夹下的自由表CLASS(班级表)

TEACHER(教师表)添加到学生数据库SDB中;

2、为班级表CLASS创建一个主索引的普通索引(

序),主索引的索引名和索引表达式均为班级号;

师表TEACHER

达式均为教师号;

3、通过“班级号”字段建立班级表CLASS

表STUDENT表间的永久联系。通过班级表

的“班主任号”字段与教师表TEACHER

号”字段建立班级表CLASS和教师表TEACHER

的永久联系;

4、为以上建立的两个联系设置参照完整性约束:

新规则为“级联”;删除规则为“限制”

为“限制”。

解析:1、可以有两种方法:一是命令方法,

单方法。

命令方法:

OPEN DATABASE sdb

ADD TABLE class && 把自由表class

到sdb中

ADD TABLE teacher && 把自由表teacher

到sdb中

菜单方法:

(1)单击“文件\打开”命令项,选择“文件类型”

据库,打开“sdb”。

(2)在“数据库设计器-sdb”

右击菜单,选择“添加表”命令,

即可(class和teacher)。

2、(1)在“数据库设计器-sdb”中,选择表“class”

鼠标右键,选择“修改”命令,在“表设计器-

中,单击“索引”选项卡,然后输入索引名“班级号”

选择类型为“主索引”,表达式为“班级号”

一个索引项,输入索引名“班主任号”,选择类型为“

通索引”,表达式为“班主任号”,最后单击“确定”

再单击“是(Y)”这样索引就建立了。

(2)在“数据库设计器-sdb”中,选择表“teacher”

击鼠标右键,选择“修改”命令,在“

-teacher.dbf”中,单击“索引”

“教师号”,选择类型为“主索引”,表达式为“教师号”

最后单击“确定”按钮,再单击“是(Y)”

引了。

3、(1)在“数据库设计器-sdb”中,然后选择“class”

主索引键“班级号”

“student”表中的索引键为“班级号”处,

(2)在“数据库设计器-sdb”中,然后选择

表中主索引键“教师号”并按住不放,

到“class”表中的索引键为“班主任号”

可。

4、(1)在已建立的永久性联系后,双击关系线,

示“编辑关系”对话框。

(2)在“编辑关系”对话框中,单击“参照完整性”

并显示“参照完整性生成器”。

(3)在“参照完整性生成器”对话框中,单击“更新规则

选项卡,并选择“级联”单选按钮,单击“删除规则”

项卡,并选择“限制”单选按钮,单击“插入规则”

卡,并选择“限制”单选按钮,接着单击“确定”

并显示“

出?”,最后单击“是”

完整性。

SDB

简单应用:

1

STUDENT表中所有字段;记录不分组;

随意式;列数为1,字段布局为“列”

向”;排序字段为“学号”(升序)

生基本情况一览表”;报表文件名为TWO。

2、使用查询设计器设计一个查询,

班级号升序排序,并输出到ONE表中。

并将设计的查询保存为ONE.QPR文件。

注意:(1)表之间的关联,一个是STUDENT

与CLASS表的班长号,另一个是CLASS

任号与TEACHER表的教师号;

(2)

STUDENT

TEACHER表的教师名。

解析:1、(1)单击“工具\向导\报表”菜单项,并显示“

导选取”对话框。

(2)在“向导选取”对话框中,选择“报表向导”并单击“

“报表向导”框。

“步骤1-字段选取”

,在“数据库和表”

“可用字段”列表框中显示表

“选定字段”

”按钮。

“步骤2-分组记录”

“步骤3-选择报表样式”

随意式”,单击“下一步”按钮。

“步骤4-定义报表布局”

“1”,在“方向”处选择“纵向”,在“

”,单击“下一步”按钮。

“步骤5-排序次序”

“升序”,再单击“添加”按钮,单击“

“步骤6-完成”中,在“

“学生基本情况一览表”,单击“

输入保存报表名“two”,

“class.dbf”,再按“确定

”对话框中,选择表“teacher”

“student”,再按“添加”

“student”的关联,重新选择

”作为进行关联,接着按“关闭

”对话框。

-one”窗口中,单击“字段”

”、“Class.班级名”,在“

姓名AS 班长名”后,再单击“添加

”输入“Teacher.教师名AS

“添加”按钮。

-one”窗口中,单击“排序依据”

班级号”并在“排序选项”中选中“

”按钮。

”中,单击“查询\查询去向”

”对话框,在此对话框中,单击“表

”处输入表名“one”,单击“确定”

SDB

form

“学生基本信息浏览”。

(Label1),

Style属性设置为

属性设置为“字段”(

表中的班级号)

(Command2)

置一个表格控件(Grid1),

属性设置为“4-SQL说明”

“退出”命令按钮(Command1)

向数据环境添加

表(cursor2)。

”中,在“属性”的Caption处输入“

Name处输入“form”。

”中,添加一个标签Label1,在其“

“班级号”。

”中,单击鼠标右键,

在“数据环境设计器-three.scx”中,

选择“student.dbf”表,接着在“

双击表“class”,再按“关闭”

”对话框。

”中,添加一个组合框控件Combo1

处输入“班级号”,在Style

”,在RowSourceType处选择“6-字段”

“Class.班级号”。

”中,添加一个表格控件Grid1

处选择“4-SQL说明”。

”中,添加两个命令按钮,在第

”的Caption处输入“退出”,在第2

Caption处输入“确认”。

”中,双击“Command1”命令按钮,

编辑窗口中输入“Release Thisform”,

”中,双击“Command2”命令按钮,

* FROM

calculator.scx

calculator,保存表单。

Text2

),保存表单。

Text3

一组如图所示选项按钮

4个按钮依次为“+”、“-”、“*”、“/

”中,在“属性”的Name

”中,选中Text2控件,在“属性”

“##########”。

”中,选中Text3控件,在“属性”

“.T.”。

”中,添加一个“选项按钮组”

处输入“4”,

Caption的值。

cylinder.prg,

和orsers.dbf

,同时将所用SQL

函数调用而不是过程调用,

所以应改为:

3 Orders.职工号, Employee.姓名

;

= Orders.职工号;

职工号;

DESC;

,表单控件名为goods

Gtid1(默认控件名),

(单击菜单)

说明);

所示的菜单(蔡单文件名

)。

”中,在其“属性”的Name

处输入“商品”,在ShowWindow处

”,双击“Load Event”,在

“do mymenu.mpr”。

“Init Event”,在“myform.Init”编辑窗

with this ,'xxx'”,启动菜单命

“Destroy Event,在“myform.Destroy”

“release menu xxx extended”,在表单退

”中,添加一个表格控件Grid1,在

处选择“4-SQL说明”。

”命令项。

“菜单”单选钮,再按“新建文

“菜单”按钮,在菜单设

”中依次输入“商品分类”和“退出”

然后选择“商品分类”菜单项,在“结

”,单击“创建”按钮,在“菜单设计器”

“小家电”、“饮料”和“酒类”。

“结果”选择“过程”并输入命令

“结果”选择“过程”并输入命令下

“结果”选择“过程”并输入命令下

='3001' into cursor lsb"

“结果”选择“过程”并输入下列命

myform.release

”,在“常规选项”对话框中选中

“保存”按钮,在弹出“保存”对话框中

”窗口下,单击“菜单”菜单栏,选择

文件。

“订单管理”的数据库,并将已有

和customer三个表添加到该数

索引名为nf,索

签订日期)”。

表建立主索引,为orders建立普通

。通过

表和orders表之间建立一个

更新规

“级联”,插入规则为“限

订单管理

”对话框

”命令项,弹出“新建”框。

选择“数据库”单选钮,再按“新

“创建”对话框。

“订单管理”,再按

”按钮,这样就可以建立数据库了,

-订单管理”对话框。

订单管理

”命令项,选择“文件类型”为数据

”。

-订单管理”中单击鼠标右键,显

“添加表”命令,并选择相应的表文

、orders和customer)。

订单管理

-订单管理”中,选择表“orders”并单

“修改”命令,在“表设计器-orders.dbf”

选项卡,然后输入索引名“nf”,选择

”,表达式为“year(签订日期)”,最后

“是(Y)”就可以建立索引。

订单管理

-订单管理”中,选择表“employee”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“主索引”,表达式为“职员号”,

按钮,再单击“是(Y)”就可以建立索

6

引。

(3)在“数据库设计器-订单管理”中,选择表“orders”

击鼠标右键,选择“修改”命令,在“表设计器-

中,单击“索引”选项卡,然后输入索引名“职员号”

选择类型为“普通索引”,表达式为“职员号”

击“确定”按钮,再单击“是(Y)”就可以建立索引了。

(4)在“数据库设计器-订单管理”

“employee”表中主索引键“职员号”并按住不放,

动鼠标拖到“orders”表中的索引键为“职员号”处,

鼠标即可。

4、(1)在已建立的永久性联系后,双击关系线,

示“编辑关系”对话框。

(2)在“编辑关系”对话框中,单击“参照完整性”

并显示“参照完整性生成器”。

(3)在“参照完整性生成器”对话框中,单击“更新规则

选项卡,并选择“限制”单选按钮,单击“删除规则”

项卡,并选择“级联”单选按钮,单击“插入规则”

卡,并选择“限制”单选按钮,接着单击“确定”

并显示“

出?”,最后单击“是”

完整性。

1、在考生文件夹下已有表单文件formone.scx

命令按钮。

请按下面要求完成相应的操作:

1)在表单的数据环境中添加orders表。

2)将列表框List1设置成多选,另外将

RowSourceType属性值设置为“8-结构”、

设置为oeders。

3)将表格Grid1的RecordSourceType

“4-SQL说明”。

4)修改“显示”按钮的Click

钮时,表格Grid1内将显示在列表框中所选

表中指定字段的内容。

2、利用查询设计器创建查询,从orders、

和customer表中查询2001年5月1日以后(含)

所有订单的信息。查询结果依次包含“订单号”、

订日期”、“金额”、

排序;查询去向为表tableone。最后将

queryone.qpr文件中,并运行该查询。

解析:1、(1)打开并修改表单

MODIFY FORM formone

(2)单击“显示\数据环境”菜单项,在“打开”

击表“orders”,再单击“关闭”来关闭“添加表或视图”

话框。

(3)选中列表框List1,在其“属性”的RowSourceType

选择“8 - 结构”,在RowSource处输入“orders”

MultiSelect处选择“.T. - 真”。

(4)选中表格Grid1,在其“属性”的RecordSourceType

选择“4 - SQL 说明”。

(5)双击“显示”按钮,在Command1.Click

语句。

第1处:FOR i=1 TO thisform.List1.ListCount

第2处:s=thisform.List1.List(i)

第3处:s=s+","+thisform.List1.List(i)

2、(1)在命令窗口中输入建立查询命令

QUERY queryone

(2)在“打开”对话框中,选择表“employee”再按“确定”

钮,在“添加表或视图”对话框中,单击“其他”

选择表“orders”再按“确定”按钮,在“联接条件”

中,直接按“确定”按钮,选择表“customer”再按“确定

按钮,在“联接条件”对话框中,直接按“确定”

在“添加表或视图”中,再按“关闭”按钮。

(3)单击“字段”选项卡,选择“Orders.订单号”、

签订日期”、“Orders.金额”,在“函数和表达式”

“Employee.姓名AS 签订者”并单击“添加”

择“Customer.客户名”。

(4)单击“排序依据”选项卡,选择“Orders.签订日期”

选择“降序”,接着单击“添加”按钮。

(5)单击“筛选”选项卡,在“字段名”中,选择“Orders.

订日期”,在“条件”处选择“>=”,再在“实例”

“{^2001-05-01}”。

(6)单击“查询\输出去向”菜单项,在“查询去向”

中,单击“表”按钮,在“表名”处输入“tableone”

击“确定”按钮。

在考生文件夹下创建一个顶层表单myform.scx(

)

mymenu.mnx

T

、“客户名”和“合计”

降序排序,并存放在

“统计”和

“菜单”按钮。

-mymenu.mnx”中,在“菜单名称”

菜单项,在“结果”中选择“过程”

-mymenu.mnx-统计(T) 过程

,客户名,sum(金额) as 合计

orders.客户号=customer.

客户号order by 合计

子菜单项,在“结果”中选择“过程

“菜单设计器-mymenu.mnx-退出

myform.release

”菜单项,在“常规选项”

“确定”按钮。

”窗口下,单击“菜单”

“mymenu.mpr”文件。

”中,在“属性”的Caption处输入“

处选择“2 - 作为顶层表单”

Form1.Init中输入

Destroy Event事件,在

“男”

rusults表。

该表单含有

4

myprog.prg,

性别="男

INTO TABLE results

\向导\表单”菜单项,并显示“

选择“表单向导”并单击“

“表单向导”对话框。

“步骤1-字段选取”

,在“数据库和表”

“可用字段”列表框中显示表

“学号”、“班级”、“姓名”和“

“下一步”按钮。

“步骤2-选择表单样式”

“步骤3-排序次序”

“升序”,再单击“添加”按钮,

“步骤4-完成”中,再单击“

“student”

年龄N(2)

(C 8)

、政治面目(C 4)、班级(C 5)

sprog.prg

SQL UPDATE

(

));

SQL SELECT

)。

判断是否找到,所以应改为:

“女”,则继续,所以应改为:LOOP

中存放下面两条SQL语句:

年龄=year(date()) - year(出生日期

, COUNT(*) AS 人数, AVG(

FROM student GROUP BY Student.

gnht.dbf

HTH(合同号)、DHDW(

)、JHSL(订货数量)

)表文件中。

存放内容如下:select 1

&& 计算订货总数

&& 计算订货单位数

&& 计算供货单位数

&& 把订货单位数存放第1

&& 把供货单位数存放第2

asum && 把订货总数存入第3

“订单管理”的数据库,

orders两个表添加到该数据库中。

索引名为je,

,降序索引。

的数据库中新建一个名为

(4)

(36)

(36)

customer

“客户号”为customer表和

订单管理

”对话框

”命令项,弹出“新建”框。

选择“数据库”单选钮,再按“

“创建”对话框。

“订单管理”,

-订单管理”对话框。

订单管理

”命令项,选择“文件类型”

”。

-订单管理”中单击鼠标右键,

“添加表”命令,

和orders)。

订单管理

-订单管理”中,选择表“orders”

“修改”命令,在“表设计器-

选项卡,然后输入索引名“je”,在“

”即为“降序”,选择类型为“

”,最后单击“确定”按钮,

customer(客户号C(4),

订单管理

-订单管理”中,选择表“customer”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“主索引”,表达式为“客户号”,

“是(Y)”就可以建立索引

-订单管理”中,选择表“orders”并单

“修改”命令,在“表设计器-orders.dbf”

“客户号”,

”,表达式为“客户号”,最后单

“是(Y)”就可以建立索引了。

-订单管理”中,然后选择

“客户号”并按住不放,然后移

表中的索引键为“客户号”处,松开

formone.scx,如

Text1的Value属性

(日期型,不含时间)。

”窗口,将表格Grid1和

属性值设置为“4-SQL说明”。

Click事件代码。当单击该按

内将显示指定日期以后(含)签订的

、“签订日期”和“金额”

Click事件代码。当单击该按

employee和

2001年所签订单的金额进行统

500的组,

、“总金额”、“最高金额”和“平

各记录按“总金额”降序排序;

tableone。最后将查询保存在

“属性”的Value处输入

“属性”的RecordResourceType

说明”。

在Command1.Click中修改相应的

按钮,在Command2.Click中输入

,并关闭编辑窗口。

CREATE

“employee”再按“确定”按

”对话框中,单击“其他”按钮,

“确定”按钮,在“联接条件”对话框

”按钮。在“添加表或视图”中,再按“关

“Employee.组别”,在“函数

“SUM(Orders.金额) AS 总金额”并单

“函数和表达式”处输入“MAX(Orders.

”并单击“添加”按钮,在“函数和表

金额) AS 平均金额”并单击

“选定字段”列表框中。

”选项卡,选择“SUM(Orders.金额) AS

”,接着单击“添加”按钮。

”选项卡,在“可用字段”处选择

“添加”按钮,把该字段添加到

“满足条件”按钮,在“满足条件”

”处选择“总金额”,选择“>=”,在“实

“确定”按钮。

“字段名”中,选择“表达式”,

”的“表达式”中输入“YEAR(Orders.签

“确定”按钮,再在“实例”处输入

”菜单项,在“查询去向”对话框

“表名”处输入“tableone”,再单

7 页共30 页

1)创建一个下拉式菜单mymenu.mnx,

序时会在当前vfp系统菜单的末尾追加一个

子菜单,如下图所示。

程完成。

单金额的和。统计结果包含“年份”、“月份”和

计”三项内容(若某年某月没有订单,

录)。统计结果应按年份降序、月份升序排序,

放在tabletwo表中。

2)创建一个项目myproject.pjx,

mymenu.mnx

序myproject.app。最后运行myproject.app

执行“统计”和“返回”菜单命令。

解析:一、建立菜单

(1)建立菜单文件

CREATE MENU mymenu

在“新建菜单”对话框中,单击“菜单”按钮。

(2)在“菜单设计器-mymenu.mnx”中,在“菜单名称”

入“考试”,再单击“创建”按钮来子菜单,在“菜单名称

中输入“统计”,再移到下一个菜单项处中输入“返回”

(3)选中“统计”子菜单项,在“结果”中选择“过程”

“创建”,在“菜单设计器-mymenu.mnx-统计过程”

入下列语句:

select year(签订日期) as 年份,month(签订日期) as

份,sum(金额) as 合计from orders group by 年份,

order by 年份desc,月份into table tabletwo

(4)选中“返回”子菜单项,在“结果”中选择“过程”

“创建”,在“菜单设计器-mymenu.mnx-返回过程”

入下列语句:set sysmenu nosave

set sysmenu to default

(5)单击“显示\常规选项”菜单项,在“常规选项”

的“位置”框中选中“追加”单选钮,再单击“确定”

(6)在“菜单设计器”窗口下,单击“菜单”

“生成”菜单项,生成“mymenu.mpr”文件。

二、创建项目

(1)新建项目文件

CREATE PROJECT myproject

(2)在“项目设计器-Myproject”中,单击“其他”

选中“菜单”项,单击“添加”按钮,在“添加”

击“mymenu.mnx”。

(3)在“项目设计器-Myproject”中,单击“连编”按钮,在“

编选项”对话框中单击“确定”按钮,在“另存为”

文件名“myproject””按钮。

1、修改菜单my_menu,my_menu

单项下有子菜单项“新建”、“打开”、“关闭”和

出”

菜单的命令(不可以使用过程)。

2、创建一个快速报表sport_report

字段。

3、使用SQL

牌榜”结构完全一样的自由表golden.dbf

SQL语句存储在文件one.prg中,否则不得分。

4、使用SQL语句向自由表golden.dbf

录(“011”,9,7,11)。请将该SQL

two.prg中,否则不得分。

解析:1、(1)打开并修改菜单

MODIFY MENU my_menu

(2)在“菜单设计器-my_menu.mnx”中,选中“文件”

项,再单击“编辑”按钮,接着选中“退出”

单击“插入”按钮,在“菜单名称”中输入“\-”。

(3)在“菜单设计器-my_menu.mnx”中,选中“退出”

项,在“结果”中选择“命令”项,在文本框中并输入

SYSMENU TO DEFAULT”。

(4)最后关闭菜单设计器。

2、(1)在命令窗口输入建立报表命令

CREATE REPORT sport_report

(2)单击“报表\快速报表”菜单项,在“打开”

择表“金牌榜”并单击“确定”按钮。

(3)在“快速报表”对话框中,单击“字段”按钮,在“

选择器”中,选择“国家代码”和“金牌数”

击“确定”按钮返回“快速报表”对话框,接着再单击“

定”按钮,在“报表设计器-sport_report.frx”窗口中。

(4)关闭保存该报表。

3、在文件one.prg中存放

CREATE TABLE golden(国家代码C(3),金牌数I,

数I, 铜牌数I)

4、在文件two.prg中存放:

1、使用SQL

数(“名次”为1表示获得一块金牌)

数”降序,再按“国家名称”

SQL语句存储在文件three.prg

myform

表单中包括一个列表框(List1)、

SQL

(Option2)和铜牌(Option3)。

three.prg存放:

, count (*) 金牌数;

INNER JOIN 国家;

.国家代码= 国家.国家代码;

.名次=1;

.国家代码Order by

DESC into dbf temp

”中,在“属性”的Caption处输入“

处输入“myform”。

”中,添加一个列表框List1,在“

处选择“3 - SQL 语句”

“select 国家名称from 国家

“属性”的ButtonCount中输入“3”,

“Option1”,在其“属性”的

“Option2”,在其“属性”的

“Option3”,在其“属性”的

”中,添加一个命令按钮,在其“

“退出”,并双击“退出”

中输入“Release Thisform”。

sport_project

,表单中包括三个命令按钮。

Four.prg。程序功能是:根据

(注意

)、再按

中的“生成表”

Four.prg程序。

sport_report

sport_form中的命令按钮

预览快速报表sport_report

和“获奖牌情况”

four.prg中编写如下内容

,COUNT(*) AS 奖牌总数FROM

.国家代码;

= 获奖牌情况.国家代码;

DESC, 国家名称INTO

-sport_project”中,单击“文档”

“sport_form”,在“表单设计器

”命令按钮,在Command1.Click

”中,双击“浏览报表”

“report form sport_report preview”

-sport_project”中,单击“数据”

,接着单击“添加”按钮,选择表“

.dbf”。

-sport_project”中,单击“连编”

再单击“确定”按钮,在“另存为

customer,并将自由表customer

order之间的永久联系。

一是命令方法,

”命令项,选择“文件类型”

-Ecommerce”

“添加表”命令,

和order)。

订单日期

-customer”中,选择表“order”

“修改”命令,在屏幕上显示“

单击“索引”选项卡,

“普通索引”,表达式为“

“确定”按钮。

-customer”中,选择“customer”

”并按住不放,

“客户编号”处,

modi1.prg

(具体修改要求在程序文件中)

customer(客户)和order(

SQL SELECT

文件中。

打开customer表,所以应填:

“北京”

="北京"

文件存放下列语句:

,订单编号,金额,送货方式;

= Order.客户编号;

,订单编号;

myform(

customer中的记录,

grd2,用于显示与表customer

order表中的记录。

mymenu

myform,

Load

”命令项。

“菜单”单选钮,再按“

“菜单”

”中输入“退出”,然后“退出”

”,单击“创建”按钮,在“

”编辑窗口中输入两条语句。

“保存”按钮,在弹出“保存”

”窗口下,单击“菜单”

“mymenu.mpr”

”窗口中,在“属性”的Name

事件,在“myform.Load”

,并关闭编辑窗口。

”窗口中,单击鼠标右键,

”菜单项,在“添加表或视图”

和“order”分别添加到“

关闭”按钮关闭“添加表或视图”

“customer”表按住不放,

中,再松开鼠标。选中“order”

“表单设计”中,再松开鼠标。

,在“属性”的Name处输入

2(order),在“属性”的Name处输入

“Top”、“Height”和“Width”值输入相

数据库,然后从中删除customer

索引名为xb,

,升序索引。

索引名为xyz,

str(组别,1)+职务”,升序索引。

表建立主索引,为orders建立普通

。通过

表和oeders之间建立一个一

订单管理

,右击鼠标,在弹出菜单中选择

“把表从数据库中移去还

”。

“删除”按钮即可。

订单管理

订单管理

-订单管理”中,选择表“employee”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“普通索引”,表达式为“性别”,最

“是(Y)”就可以建立索引

订单管理

-订单管理”中,选择表“employee”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“普通索引”,表达式为“str(组别,1)+

“确定”按钮,再单击“是(Y)”就可以建

订单管理

-订单管理”中,选择表“employee”

“修改”命令,在“表设计器

“索引”选项卡,然后输入索引

“主索引”,表达式为“职员号”,

“是(Y)”就可以建立索引

-订单管理”中,选择表“orders”并单

“修改”命令,在“表设计器-orders.dbf”

“职员号”,

”,表达式为“职员号”,最后单

“是(Y)”就可以建立索引了。

-订单管理”中,然后选择

“职员号”并按住不放,然后移

表中的索引键为“职员号”处,松开

formone.scx,如

employee表依次添加到该表单的数

)。

employee表中的

属性值应设置为:6-字段)。

设置为只读。

InteractiveChange事件代码,使得当

从employee和oeders

1的组各职员所签所有订单的

、“金额”、“签

queryone.qpr文件中,

8 页共30 页

MODIFY FORM formone

(2)单击“显示\数据环境”菜单项,在“打开”

表“orders.dbf”,接着在“添加表或视图”

“employee”,再单击“关闭”按钮来关闭对话框。

(3)选中列表框控件,在其“属性”的Style处选择“2 -

拉列表框”,在RowSourceType处选择“6 - 字段”

RowSource处输入“employee.姓名”。

(4)选中文本框Text1,在其“属性”的ReadOnly处选择

- 真”。

(5)选中列表框控件,双击“InteractiveChange”

在最后一行修改为“thisform.text1.value=m2”。

2、(1)在命令窗口中输入建立查询命令

QUERY queryone

(2)在“打开”对话框中,选择表“employee”再按“确定”

钮,在“添加表或视图”对话框中,单击“其他”

选择表“orders”再按“确定”按钮,在“联接条件”

中,直接按“确定”按钮。在“添加表或视图”中,再按“

闭”按钮。

(3)单击“字段”选项卡,选择“Orders.订单号”、

金额”,在“函数和表达式”处输入“Employee.姓名

签订者”并单击“添加”按钮添加到“选定字段”

中。

(4)单击“排序依据”选项卡,选择“Orders.金额”

“降序”,接着单击“添加”按钮。

(5)单击“筛选”选项卡,在“字段名”中,选择

组别”,在“实例”处输入“1”。

(6)单击“查询\输出去向”菜单项,在“查询去向”

中,单击“表”按钮,在“表名”处输入“tableone”

击“确定”按钮。

在考生文件夹下创建一个下拉式菜单mymenu.mnx

并生成菜单程序mymenu.mpr。

在当前Visual Foxpro

前插入一个“考试”子菜单,如下图所示。

过程完成。

的和。统计结果包含“组别”、“负责人”和

三项内容,其中“负责人”为该组组长(由

中的“职务”一项指定)的姓名,

计”降序排序,并存放在tabletwo表中。

菜单程序生成后,运行菜单程序并依次执行

和“返回”菜单命令。

解析:(1)建立菜单文件

CREATE MENU mymenu

在“新建菜单”对话框中,单击“菜单”按钮。

(2)在“菜单设计器-mymenu.mnx”中,在“菜单名称”

入“考试”,再单击“创建”按钮来子菜单,在“菜单名称

中输入“统计”,再移到下一个菜单项处中输入“返回”

(3)选中“统计”子菜单项,在“结果”中选择“过程”

“创建”,在“菜单设计器-mymenu.mnx-统计过程”

入下列语句:close data

use employee

copy to tmp1 field 组别,姓名for 职务="组长"

select 组别,sum(金额) as 合计from

where orders.职员号=employee.职员号group by

into cursor tmp2

select tmp2.组别,姓名as 负责人,合计from

where tmp1.组别=tmp2.组别order by 合计desc

table tabletwo

(4)选中“返回”子菜单项,在“结果”中选择“过程”

“创建”,在“菜单设计器-mymenu.mnx-统计过程”

入下列语句:set sysmenu nosave

set sysmenu to default

(5)单击“显示\常规选项”菜单项,在“常规选项”

的“位置”框中选中“在...之前”

框选择“帮助”,再单击“确定”按钮。

(6)在“菜单设计器”窗口下,单击“菜单”

“生成”文件。

salary_db

作:

1、在数据库salary_db中建立表dept,

字段名类型宽度

部门号字符型 2

部门名字符型20

随后在表中输入5条记录,记录内容如下:

部门号部门名

01 制造部

02 销售部

03 项目部

04 采购部

05 人事部

2、为dept表创建一个主索引(升序),

salarys表和dept

“限制”;插入规则为

“salary_db”

”菜单项,在“新建”

“新建文件”按钮,在“创建”

,接着单击“保存”按钮。

dept.dbf”

“保存”

“dept”并单击鼠标右键,选择“

中,选择“索引”

“主索引”并选择“升序”

”。

ADD PRIMARY KEY 部门号

-salary_db”中,然后选择“dept”

”并按住不放,

“部门号”

双击关系线,

“参照完整性”

”。

”中,单击“更新规则”

“删除规则”

“插入规则”

接着单击“确定”按钮,并显示“

”,

记录不分组;报表样式为

1”,字段布局为“列”,方向为

“雇员号”(升序);报表标题为

print1。

form1

Click

命令按钮时,使用

表中所有字段信息供用户浏览;

“工具\向导\报表”菜单项,并显示“

选择“报表向导”并单击“

“报表向导”对话框。

“步骤1-字段选取”

,在“数据库和表”

“可用字段”列表框中显示表

“选定字段”

”按钮。

“步骤2-分组记录”

“步骤3-选择报表样式”

随意式”,单击“下一步”按钮。

“步骤4-定义报表布局”

“1”,在“方向”处选择“纵向”,在“

”,单击“下一步”按钮。

“步骤5-排序次序”

“升序”,再单击“添加”按钮,

“步骤6-完成”中,在“

“雇员工资一览表”,单击“完成”。

“print1”

”命令按钮,在“属性”的

”。

”命令按钮,在

“SELECT * FROM salarys”

”命令按钮,在“Command2.Click”

“Thisform.Release”。

change_c

salarys

,对salarys

按“雇员号”相同进行调整,

form2

和“退出”(名称Command2)

调用change_c

文件中的内容

雇员号

into c_salary1

with c_salary1.工资for 雇员号

”中添加两个命令按钮(“调整”和“

“Command1.Click”

,接着关闭编辑窗口。

“Command2.Click”

one,

one。

student。

中建立程序代码文件one.prg

-one”中,选中“Command1”

处输入“开始”。

-one”的“数据”

新建”按钮,在“新建数据库”对话框

”按钮,在“创建”对话框的“

”,再单击“保存”按钮。

-one”的“代码”选项卡,并选择“

按钮,在“程序1”中输入“? "

同时显示“另存为”

“one”,再单击“保存”按钮。

表单名和表单文件名均为two),

Grid1;

Command1(

属性设置为0(

Grid1的

(注:不可以写多余的语句)

(出自student表)和“平均成绩”(

)

avgscore.dbf中。

-two”中,在其“属性”的Name处输入

-two”中,添加一个表格控件Grid1。

”菜单项,在“打开”的对话框

”,再单击“关闭”按钮来关闭对

-two”中,添加一个命令按钮

“属性”的Caption处输入“退出”

中输入

”。

-two”中,选择表单two并在其“属性

姓名, AVG(score.成绩) AS 平均成

= Score.学号;

姓名;

姓名;

数据库(基本操作题建立的),将自由

和course添加到数据库中;

,该视图包括“学号”、“姓名”、“课

4个字段;

该报表按顺序包含

、“姓名”、“课程名称”和“成

,报表文件名为

three:

(Command1)写代码:用

viewsc的全部内容,要求先按“学

(Command2)写代码:预

(Command3)写代码:关闭并

”菜单项,在“新建”对话框中选择“视

“新建文件”。在“添加表或视图”

“student”,再双击表“score”,在“联

“确定”按钮,再双击表

”对话框中直接单击“确定”按钮,

“视图设计器”中,接着单击

“添加表或视图”对话框。

“保存”对话框中输入视图名

\报表”菜单项,并显示“向导选取”

选择“报表向导”并单击“确

“报表向导”对话框。

“步骤1-字段选取”中,首先

”,在“数据库和表”列表框中,选择

“可用字段”列表框中显示表viewsc

并选定指定的字段名,再单击“下一

“步骤2-分组记录”中,单击

“步骤3-选择报表样式”中,

“完成”按钮。

“步骤6-完成”中,单击“完

“three”,并

”按钮,在“Command1.Click”编辑窗口

select * from viewsc order by 学号,成

”按钮,在“Command2.Click”编辑窗口

report form three preview

在“Command3.Click”编辑窗口中输

EMAIL、类型为

20的字段。

,默认值为“女”。

EMAIL字段值

”进行替换。

雇员ADD COLUMN email C(20)

-雇员管理”中,选择表“雇员”

“修改”命令项。

.dbf”中,选择“性别”字段,在“字

“规则”处输入“性别$"男女"”,在“默认

“确定”按钮即可。

EMAIL WITH 部门号+雇员号

-雇员管理”中,然后选择“部门”

”并按住不放,然后移动鼠标拖

“部门号”处,松开鼠标即可。

form1的表单,要求如下:

XXX公司雇员信息维护”;

的Click事件下的语句,

相关主题
文本预览
相关文档 最新文档