| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4212 人关注过本帖
标题:怎么实现两行数据相减
只看楼主 加入收藏
xyj532
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-12-11
收藏
 问题点数:0 回复次数:18 
怎么实现两行数据相减
                    
    代码    2月      3月       4月      5月      6月       7月      8月
    1530    5000     16522     8202     6202     15003     1561     2890
    1840    40000    26980     30060    4318     35100     4176     4829
    1742    15200     8600     8510     5000     25010     3350     4567
    1546    15500     32450    20750    14500    14000     26502    35215

请教各位,如何在表中对以上两行数据进行相减,并在原来的行更新结果
例如 代码1840行数据减去 代码1546行,结果在1840行显示呢
搜索更多相关主题的帖子: 14000 8月 如何 
2012-11-20 14:42
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
不明白楼主的用意。以上是四行数据,怎么就能确定1840行减1546行,是隔行相减?还是整个表只处理这两行相减?

相互学习,互相交流,共同提高。
2012-11-20 15:45
xyj532
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2004-12-11
收藏
得分:0 
整个表只处理第二行减去第四行
2012-11-20 16:14
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
程序代码:
USE 你的表
GO 4
SCATTER FIELDS LIKE *TO arr2
GO 2
SCATTER FIELDS LIKE *TO arr1
a=ALEN(arr1)
FOR i=1 TO a
    arr1(i)=arr1(i)-arr1(2)
ENDFOR
GATHER FROM arr1 FIELDS LIKE *

坚持学习vfp,QQ:306805680
2012-11-20 16:59
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
如果第1列(代码)不参与相减运算,则上列的代码需要修改为:
FOR i=2 TO a

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-11-20 17:12
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
回复 5楼 hu9jj
第一列没有复制到数组中,数组的第一个数据就是表中的第二列数据了。所以必须for i = 1 to a

坚持学习vfp,QQ:306805680
2012-11-20 17:49
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:682
专家分:1299
注 册:2009-3-1
收藏
得分:0 
这样的设计运算肯定是不合理的吧
2012-11-20 19:44
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
假设楼主的数据表是E:\bbb.dbf,试试:
SELECT * from e:\bbb INTO CURSOR temp  WHERE RECNO()=4
SELECT bbb
GO 2
FOR i=1 TO 8
    n=FIELD(i)
    m="temp."
    REPLACE &n WITH &n-&m.&n
NEXT

收到的鲜花
  • tlliqi2012-11-20 23:17 送鲜花  10朵   附言:我很赞同

相互学习,互相交流,共同提高。
2012-11-20 21:04
月沐庭轩
Rank: 9Rank: 9Rank: 9
来 自:京城
等 级:贵宾
威 望:17
帖 子:393
专家分:1106
注 册:2011-7-24
收藏
得分:0 
以下是引用qjbzjp在2012-11-20 21:04:29的发言:

假设楼主的数据表是E:\bbb.dbf,试试:
SELECT * from e:\bbb INTO CURSOR temp  WHERE RECNO()=4
SELECT bbb
GO 2
FOR i=1 TO 8
    n=FIELD(i)
    m="temp."
    REPLACE &n WITH &n-&m.&n
NEXT

如果第一行不参加运算,把这段改为:
FOR i=2 TO 8
    n=FIELD(i)
    m="temp."
    REPLACE &n WITH &n-&m.&n
NEXT
不然,第一个字段也改了。

[ 本帖最后由 月沐庭轩 于 2012-11-20 21:34 编辑 ]

坚持学习vfp,QQ:306805680
2012-11-20 21:31
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
FOR i=2 TO 8
2012-11-20 23:08
快速回复:怎么实现两行数据相减
数据加载中...
 
   



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

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