11.VFP查询统计及扫描循环教程.ppt
文本预览下载声明
Visual Foxpro 6.0;要点:
1. 掌握索引排序
2.掌握表中的数据查询
3.掌握表中的数据统计
4.掌握数据表中的扫描循环;1.顺序查询(条件定位)
;【例6-1】在读者信息表中逐条显示男读者信息。 ;表单Form1的Init事件代码如下:
LOCATE FOR 性别=男”
“下一条”按钮的Click事件代码如下:
Continue
if found()或 not eof()
thisform.refresh
else
messagebox(已查询完毕!)
this.enabled=.f.
endif;ex1.设计如图所示表单,将下表所示的产品信息数据表
(CP.DBF)添加到表单的数据环境中。;ex2.设计如图(左)所示表单,将表所示教师表(JS.DBF)添加到表单的数据环境中。;表单运行后,在组合框combo1中选择教师编号(其中combo1中显示的是教师编号的字段值),单击“查询”按钮,将按如图(右)所示显示该教师的信息。编写“查询”按钮的Click事件代码。;ex3.有两个数据表: 销售员表(EMP.DBF)和销售业绩表
(SALE.DBF)。其数据如表所示:; ;表单form1的load事件代码如下:
select emp
index on 编号 tag bh
select sale
set relation to 编号 into emp
表单运行后,在组合框(与CEL.DBF的编号字段绑定)中选择一个编号,在标签label2中显示如图(右)所示。编写组合框combo1的InteractiveChange事件代码。 ;2. 查询
;【例6-2】在读者信息表中为性别字段建立普通索引,并利用该索引查找并显示出所有女读者信息。;表单Form1的Init事件代码如下:
Set order to 性别
Find 女 或 seek “女”;“下一条”按钮的Click事件代码如下:
If eof()
messagebox(“没有满足条件的记录”)
else
skip
if 性别=女”
thisform.refresh
else
messagebox(已查询完毕!)
this.enabled=.f.
skip -1
thisform.refresh
endif
endif;扫描循环(scan…endscan循环)
格式: (见教科书153页)
;【EX4】设计如图所示表单,在编辑框中显示所有读者的姓名、办证日期,单位和联系电话。;数据输入;thisform.edit1.value=读者姓名 办证日期 单位 联系电话
Do while not eof()
x=读者姓名+space(2)+dtoc(办证日
期)+space(2)+单位+space(2)+联系电话
thisform.edit1.value=thisform.edit1.value+
chr(13)+x
skip
enddo
thisform.refresh;thisform.edit1.value=读者姓名 办证日期 单位 联系电话
scan
x=读者姓名+space(2)+dtoc(办证日
期)+space(2)+单位+space(2)+联系电话
thisform.edit1.value=thisform.edit1.value+
chr(13)+x
endscan
thisform.refresh;条件循环
go top
do whil not eof()
处理一个记录
skip
endd;【EX5】设计如图所示表单,在组合框中选择任一出版社,在编辑框中显示该出版社的图书的书名、价格和数量。;thisform.edit1.value=“书名 价格 数量
cbs=alltrim(bo1.value)
locate for alltrim(出版社)=cbs
Do while not eof()
x=书名+space(2)+str(价格,5,1)+str(数量,5)
thisform.edit1.value=thisform.edit1.value+ chr(13)+x
continue
enddo
thisform.ref
显示全部