| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 901 人关注过本帖
标题:请问高手:这样的问题怎么解决?
只看楼主 加入收藏
ptyy803
Rank: 2
来 自:上海
等 级:论坛游民
威 望:2
帖 子:193
专家分:64
注 册:2009-6-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
请问高手:这样的问题怎么解决?
请问高手,我有两个数据表,A表和B表,两个数据表中是同样的字段
yksb71,ykyl72,ykgh73,ykyb74,ykgs75,ykfj76,ykcj77,ykhz78,yksd79,ykfz80,ykbk81,ykbx82,ykeb83

现在我要问A表中的字段yksb71是否等于B表中的字段yksb71,再问A表中的字段ykyl72是否等于B表中的字段ykyl72,象这样要问13次,把上面的字段全部问完,这段用什么样的命令来写,谢谢!
搜索更多相关主题的帖子: 数据表 
2010-05-05 21:55
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:20 
如果2表的记录数相同,可以试试一下:不相同时,再加个判断。
 sele 1
 use 表1
 nre=reccount()
 sele 2
 use 表2
 sele 1
 go top
 t=1
 do while t=<nre
    go t
    scatter to yk1
    sele 2
    go t
    scatter to yk2   
    for i=1 to 13
        ? yk1(i)=yk2(i)
    endfor
    sele 1
    t=t+1
 enddo
2010-05-05 23:09
liuhaijun
Rank: 2
等 级:论坛游民
威 望:1
帖 子:176
专家分:45
注 册:2008-12-27
收藏
得分:0 
楼主问两个表的字段值 是否相等 ,但不知楼主想得到 相等还是不相等的。2楼给出的程序可求出相等的。
2010-05-06 00:26
ptyy803
Rank: 2
来 自:上海
等 级:论坛游民
威 望:2
帖 子:193
专家分:64
注 册:2009-6-11
收藏
得分:0 
两个数据表相等,字段也一样,且两个数据表都只有一条记录,表1是总表记录,表2是明细记录经过统计后合并成的一条记录,我要校正表1的这几个字段是否和表2合并统计后的数据是否相等才能做出最后的发出,如不等我还要进一步查询统计。现在;是13个字段,也有可能以后是10个字段,但也有可能是18个字段,这个查询的字段有可能会改变,能否把这个13用一个变量来随时改变呢?再有就是你这里的 t 我知道是指第几个的字段,在我的表中yksb71,ykyl72等等,他们在表中的字段位置可能由于表结构会增加或减少而不一定在第几个的位置,也就是说他们的位置不确定,有办法吗?

[ 本帖最后由 ptyy803 于 2010-5-6 20:24 编辑 ]
2010-05-06 20:16
茵梦湖
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:31
帖 子:545
专家分:2180
注 册:2009-4-25
收藏
得分:0 
以下是引用ptyy803在2010-5-6 20:16:36的发言:

两个数据表相等,字段也一样,且两个数据表都只有一条记录,表1是总表记录,表2是明细记录经过统计后合并成的一条记录,我要校正表1的这几个字段是否和表2合并统计后的数据是否相等才能做出最后的发出,如不等我还要进一步查询统计。现在;是13个字段,也有可能以后是10个字段,但也有可能是18个字段,这个查询的字段有可能会改变,能否把这个13用一个变量来随时改变呢?再有就是你这里的 t 我知道是指第几个的字段,在我的表中yksb71,ykyl72等等,他们在表中的字段位置可能由于表结构会增加或减少而不一定在第几个的位置,也就是说他们的位置不确定,有办法吗?

代码如下:

sele * from 表1 into curs tmp readw
appe from 表2
copy to tmp1 deli for recn()=1
copy to tmp2 deli for recn()=2
if fileto("tmp1.txt")=fileto("tmp2.txt")
   messagebox("表1/表2 数据完全一致")
else
   messagebox("表1/表2 数据有差异")
endif

2010-05-06 21:09
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:0 
2楼(我本人)的代码,是查多条记录的。查一条记录的更简单点。稍变一下,查任意列的字段是否相同的。试一下如下。i=从第几列开始的数值
j=到第几列结束的数值
sele 1
use 表1
scatter to yk1
sele 2
use 表2
scatter to yk2
    for n=i to j
        ? yk1(n),yk1(n),yk1(n)=yk2(n) && 显示相比较的具体数值,以及是否相等
    endfor
close all


[ 本帖最后由 qingfameng 于 2010-5-6 22:07 编辑 ]
2010-05-06 22:00
sywzs
Rank: 10Rank: 10Rank: 10
来 自:辽宁
等 级:贵宾
威 望:15
帖 子:508
专家分:1725
注 册:2009-5-13
收藏
得分:0 
SELE A表  &&假设两个表都已经打开
SCATTER TO TA
n=AFIELDS(ZD)
SELE B表
SCATTER TO TB
FOR i=1 TO n
  IF TA(i)<>TB(i)
    MESSAGEBOX("“"+ZD(i,1)+"”的值不同!")
  ELSE
    MESSAGEBOX("“"+ZD(i,1)+"”的值相同!")
  ENDIF
NEXT
2010-05-07 13:21
快速回复:请问高手:这样的问题怎么解决?
数据加载中...
 
   



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

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