| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1011 人关注过本帖
标题:表格列转行
只看楼主 加入收藏
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9806
专家分:26967
注 册:2012-2-5
收藏
得分:0 
以下是引用shenxihua在2023-5-2 00:44:55的发言:

谢谢二楼,正是我想要的结果。
七楼的结果行列颠倒了,如果能倒过来就对了。
其实我想要的是机号连成一行文本,写在一个字段里。我就可以转成word文件去打印了。
这样的表现实很有意义的,一个品种有哪机台机在做。

程序代码:
CREATE CURSOR test (品种 c(1), 机号 c(1))
INSERT INTO test VALUES ("A", "5")
INSERT INTO test VALUES ("B", "4")
INSERT INTO test VALUES ("A", "1")
INSERT INTO test VALUES ("A", "3")
INSERT INTO test VALUES ("A", "2")
INSERT INTO test VALUES ("B", "6")
INSERT INTO test VALUES ("B", "7")
CREATE CURSOR tt (品种 c(1), jh c(100))
INSERT INTO tt (品种) SELECT DISTINCT 品种 FROM test 
INDEX ON 品种 TAG t1
SELECT test
SET RELATION TO 品种 INTO tt
SCAN 
    IF FOUND("tt")
        REPLACE jh WITH "," + test.机号 - jh IN tt
    ENDIF 
ENDSCAN
SELECT tt
REPLACE jh WITH SUBSTR(jh, 2) ALL 
BROWSE 

坚守VFP最后的阵地
2023-05-02 07:01
ybq1014
Rank: 2
等 级:论坛游民
威 望:1
帖 子:13
专家分:16
注 册:2012-12-19
收藏
得分:0 
回复 8楼 shenxihua 符合你的要求
CLOSE DATABASES
CREATE CURSOR sb(品种 C (1),机号 N(1))
INSERT INTO sb VALUES ("A",5)
INSERT INTO sb VALUES ("B",4)
INSERT INTO sb VALUES ("A",1)
INSERT INTO sb VALUES ("A",3)
INSERT INTO sb VALUES ("A",2)
INSERT INTO sb VALUES ("B",6)
INSERT INTO sb VALUES ("B",7)
SELECT DISTINCT 品种  FROM sb INTO CURSOR tt READWRITE
ALTER TABLE tt ADD COLUMN 机号 C(20)
INDEX on 品种 TAG pz
SELECT sb
SET RELATION TO 品种 INTO tt
SCAN
   REPLACE 机号 WITH ALLTRIM(机号)+SPACE(2)+ALLTRIM(TRANSFORM(sb.机号)) IN tt
ENDSCAN
SET ORDER TO
DELETE TAG all
SELECT tt
BROWSE

2023-05-03 17:14
厨师王德榜
Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18
等 级:贵宾
威 望:199
帖 子:987
专家分:4946
注 册:2013-2-16
收藏
得分:0 
2023-05-04 11:16
快速回复:表格列转行
数据加载中...
 
   



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

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