注册 登录
编程论坛 VFP论坛

求助,2列纵向转横向

a1999zqw 发布于 2021-03-15 13:21, 1847 次点击
表aa,三个字段a1,a2a3,有100条记录,表bb有mm,b1,c1,b2,c2......b100,c100共201个字段,现要将表aa的100个记录中字段a1,a3作为一条记录放到表bb中,mm不需要填充,
b1应该是表aa第一条a1字段的值,c1应该是表aa第一条a3字段的值,
b2应该是表aa第二条a1字段的值,c2应该是表aa第二条a3字段的值,
.........
12 回复
#2
吹水佬2021-03-15 14:19
BB就一条记录,扫AA过去就是了
#3
gs25367856782021-03-15 15:17
转到EXCEL中,转置就可以了。
#4
吹水佬2021-03-15 19:16
程序代码:
** 3条记录示例
CREATE CURSOR aa (a1 I,a2 I,a3 I)
FOR i=1 TO 3
    INSERT INTO aa VALUES (i,2*i,3*i)
ENDFOR
CREATE CURSOR bb (mm I,b1 I,c1 I,b2 I,c2 I,b3 I,c3 I)
APPEND BLANK
SELECT aa
SCAN
    REPLACE ("bb.b"+TRANSFORM(RECNO("aa"))) WITH aa.a1,;
            ("bb.c"+TRANSFORM(RECNO("aa"))) WITH aa.a3
ENDSCAN
SELECT * FROM bb
#5
sdta2021-03-16 09:27
数组处理,2列转换为200列

[此贴子已经被作者于2021-3-16 09:45编辑过]

#6
a1999zqw2021-03-16 10:14
use aa in 0
COPY TO ARRAY a1a  FOR RECNO()<101
DIMENSION a1a[alen(a1a)*2]
use bb in 0
appe FROM ARRAY a1a fields like b*,c*

sdta老师,是这样吗?
#7
a1999zqw2021-03-16 10:27
只有本站会员才能查看附件,请 登录

为什么会这样?
#8
sdta2021-03-16 10:28
use aa in 0
COPY TO ARRAY a1a FIELDS A1, A3 FOR RECNO()<101
DIMENSION a1a[1, alen(a1a)]
use bb in 0
appe FROM ARRAY a1a fields like b*,c*


[此贴子已经被作者于2021-3-16 10:30编辑过]

#9
sdta2021-03-16 10:36
BB表中有B开头的字段名吗?应该是P吧?
#10
a1999zqw2021-03-16 10:40
只有本站会员才能查看附件,请 登录
还是不行
#11
a1999zqw2021-03-16 10:42
回复 9楼 sdta
是,是,是。OK了,感谢老师指导
#12
sdta2021-03-16 10:43
问题解决了就好,记得以后提问题时,要上传相关数据,便于测试代码,也可以及时解决你的问题

[此贴子已经被作者于2021-3-16 10:46编辑过]

#13
a1999zqw2021-03-16 10:52
收到
1