| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 873 人关注过本帖
标题:[求助]菜鸟提问:一个循还问题
只看楼主 加入收藏
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
结帖率:100%
收藏
 问题点数:0 回复次数:9 
[求助]菜鸟提问:一个循还问题

表:字段1 数量 结存

aaa 10 10

aaa 20 30

bbb 10 10

如何能按字段1分组结出每一行的结存数,代码怎么写?

搜索更多相关主题的帖子: 提问 
2006-10-23 16:41
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 

本人愚笨,看不懂您的意思。

[此贴子已经被作者于2006-10-23 18:26:36编辑过]


两人行已有我师……
2006-10-23 18:22
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11807
专家分:43421
注 册:2006-5-13
收藏
得分:0 

给一个思路:
另外建立一个表(简称汇总表),将原表(简称明细表)上的第一条记录的字段1读到一个变量中,然后用这个变量去统计明细表中的数量,得出的结存数和字段1一起存放到汇总表。再到明细表读下一条记录,如果字段1在汇总表中找得到,则表示此记录的数据已经统计,直接转下一条记录;如果在汇总表中找不到,则继续进行统计,直到明细表中的记录全部统计完毕。

[此贴子已经被作者于2006-10-23 20:30:39编辑过]


活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2006-10-23 20:28
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 
SELECT 字段1,SUM(结存) AS 结存 FROM 表名 GROUP BY 字段1

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-10-23 21:09
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
3楼的思路我用过,但我不知怎样把它写回到原表里。这张表的意思是把数量里的值,按字段1判断是不是同一编码,是,汇总到这一行为止的累计数,1楼的结存数是效果了。在excel表里我排个序,用 =IF(A3=A2,B3+B2,B3),填充一下就好了,但编程好几次都不得要领,所以拿来问问,见笑了
2006-10-24 12:53
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11807
专家分:43421
注 册:2006-5-13
收藏
得分:0 
那你可以先另建一个类似汇总表的《字段1》表,也就是说字段1在这个表中没有重复值,然后逐个取这个表的值去筛选原表,并按你的要求计算和写回累计数。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2006-10-24 22:05
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 
有点意思了,等我测试一下,谢谢
2006-10-25 12:36
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
收藏
得分:0 

*!* [求助]菜鸟提问:一个循还问题表:字段1 数量 结存
*!* aaa 10 10
*!* aaa 20 30
*!* bbb 10 10
*!* 如何能按字段1分组结出每一行的结存数,代码怎么写?

SET TALK OFF
SET SAFETY OFF
CLOSE ALL
IF FILE("结存.DBF")
USE 结存.DBF
ELSE
CREATE TABLE 结存 (字段1 C(3),数量 N(4),结存 N(4))
INSERT INTO 结存 (字段1,数量,结存) VALUES ("aaa",10,0)
INSERT INTO 结存 (字段1,数量,结存) VALUES ("aaa",20,0)
INSERT INTO 结存 (字段1,数量,结存) VALUES ("bbb",10,0)
ENDIF
INDEX ON 字段1 TO ZD.IDX
GO TOP
C=SPACE(LEN(字段1))
J=0
DO WHILE !EOF()
IF 字段1=C
J=J+数量
ELSE
C=字段1
J=数量
ENDIF
REPLACE 结存 WITH J
SKIP
ENDDO
LIST


感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2006-10-25 23:01
reedwu
Rank: 1
等 级:新手上路
威 望:1
帖 子:113
专家分:5
注 册:2006-9-23
收藏
得分:0 

正解,谢谢了!试过用二张表的,但还是这样的简单,还得好好研究一下。

2006-10-26 14:51
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11807
专家分:43421
注 册:2006-5-13
收藏
得分:0 
还是版主的思路清晰、程序简捷!

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2006-10-26 20:55
快速回复:[求助]菜鸟提问:一个循还问题
数据加载中...
 
   



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

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