| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2244 人关注过本帖, 1 人收藏
标题:求不同字段,上下行比较的循环程序
只看楼主 加入收藏
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
结帖率:100%
收藏(1)
已结贴  问题点数:20 回复次数:10 
求不同字段,上下行比较的循环程序
各位老师好!
求在一个表中,2个字段上下行的比较,并循环的程序。
发过去2个表。b11,bj1
例:b11中,z27(字段)第100行的值,与z33(字段)第101行的值比较,
如相等,在bj1的bj(字段)第100行中记0;
如不相等,在bj1的bj(字段)第100行中记1。

再进行z27第101行与z33第102行的比较,并记录在bj1的bj(字段)第101行;
再进行z27第102行与z33第103行的比较,并记录在bj1的bj(字段)第102行;
......
一直循环到表的最后。
谢谢各位老师!

bj1.zip (19.96 KB)

b11.zip (231.99 KB)
搜索更多相关主题的帖子: 不同 字段 上下 循环 比较 
2020-08-06 09:40
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:10 
程序代码:
CLEAR ALL 
USE bj1 
BLANK FIELDS bj ALL
SELECT z27, z33 FROM b11 INTO ARRAY aa
FOR lnj = 2 TO ALEN(aa, 1)
    REPLACE bj WITH IIF(aa[lnj, 2] = aa[lnj - 1, 1], 0, 1) RECORD lnj - 1 IN bj1
ENDFOR
SELECT bj1
BROWSE



[此贴子已经被作者于2020-8-6 12:30编辑过]

2020-08-06 10:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:10 
图片附件: 游客没有浏览图片的权限,请 登录注册

好象没相等的
USE b11 IN 0 ALIAS b1
USE b11 IN 0 ALIAS b2 AGAIN
USE bj1 IN 0
SELECT bj1
SET RELATION TO RECNO() INTO "b1", RECNO()+1 INTO "b2" ADDITIVE
REPLACE ALL bj1.bj WITH IIF(b1.z27==b2.z33,0,1)
BROWSE FIELDS qihao,bj,b1.z27,b2.z33 &&FOR bj==0
2020-08-06 11:52
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 3楼 吹水佬
吹水佬老师,你好!
看了你写的程序。非常感谢你的帮助。
运行以后发现,表bj1中的字段没有了。
怎么也没看出来前面的语句能把一个字段删除?
另外,最后  && for bj==0   是什么意思
2020-08-06 17:36
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 2楼 bccn201203
bccn201203,你好!
看到你写的程序,非常感谢!
程序中不能执行z27,z33两个字段的换位:z33的第100行与z27的第101行比较。
另外,我想能不能通过程序,将表bj1z、7个字段、bj字段的计算结果显示出来。不用事先做好表bj1。
2020-08-06 17:49
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
2楼的代码在VFP6.0中运行也不会出现问题啊
不知楼主是如何操作的
看明白2楼代码的思路,你的一切问题就不是问题了

[此贴子已经被作者于2020-8-6 19:18编辑过]

2020-08-06 19:16
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
z27(字段)第100行的值,与z33(字段)第101行的值比较, 原文在1楼

z33的第100行与z27的第101行比较。原文在5楼



不知道那句话的意思是代表楼主的真正意思
2020-08-06 19:26
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
以下是引用yd1954在2020-8-6 17:36:21的发言:

吹水佬老师,你好!
看了你写的程序。非常感谢你的帮助。
运行以后发现,表bj1中的字段没有了。
怎么也没看出来前面的语句能把一个字段删除?
另外,最后  && for bj==0   是什么意思

哪个字段删除了?
BROWSE FIELDS qihao,bj,b1.z27,b2.z33 &&FOR bj==0
这句是在bj1联系b11的情况下浏览相关联的bj1的qihao、bj字段和b11的z27、z33字段
FOR bj==0 是查看z27==z33的记录用的
2020-08-06 19:30
yd1954
Rank: 2
来 自:辽宁沈阳
等 级:论坛游民
帖 子:143
专家分:21
注 册:2016-7-1
收藏
得分:0 
回复 8楼 吹水佬
对不起,我看错了。bj字段位置变了,没看出来。没问题了。
2020-08-06 19:49
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10609
专家分:43210
注 册:2014-5-20
收藏
得分:0 
回复 9楼 yd1954
或者这样:
图片附件: 游客没有浏览图片的权限,请 登录注册

USE b11 IN 0 ALIAS b1
USE b11 IN 0 ALIAS b2 AGAIN
USE bj1 IN 0
SELECT bj1
SET RELATION TO RECNO() INTO "b1", RECNO()+1 INTO "b2" ADDITIVE
REPLACE ALL z27 WITH b1.z27, z33 WITH b2.z33, bj WITH IIF(b1.z27==b2.z33,0,1) IN "bj1"
BROWSE
2020-08-06 19:56
快速回复:求不同字段,上下行比较的循环程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023851 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved