搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 请教表2的行记录插入表1
标题:
请教表2的行记录插入表1
只看楼主
fdxxhjc
等 级:
新手上路
帖 子:305
专家分:0
注 册:2014-4-10
结帖率:
73.44%
楼主
已结贴
√
问题点数:10 回复次数:21
请教表2的行记录插入表1
现有列数(字段数)相等的表1和表2,表1有1000行,表2有10行,现在要把表2的10行记录(不改变表2的行次序)分别插入到表1的第50行后(即在表2的第50行后添加10行空行,再将表2的10行记录粘贴到这10行空行中)、100行后、150行后、....(即表1中每隔50行插入表2的10行记录),谢谢先生指点
搜索更多相关主题的帖子:
记录
2015-01-08 15:07
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
2
楼
得分:2
首先算法就有问题
当RECNO()=50
插入10行记录后,原表中的第100行就变为110行,原表中的第150行就变为160行,以此类推。为了保证原表中的插入顺序不变,应该从后向前拷入记录。
插入不难,这样做有什么意义吗
坚守VFP最后的阵地
2015-01-08 15:19
fdxxhjc
等 级:
新手上路
帖 子:305
专家分:0
注 册:2014-4-10
第
3
楼
得分:0
我现在改为表1、表2均5列,表1有25行,表2有3行,想在表1中每隔5行插入表2的3行,代码如下(但运行下来5次的插入都在表1的最后了,请先生指点,谢谢)
表1
列1 列2 列3 列4 列5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
46 47 48 49 50
51 52 53 54 55
56 57 58 59 60
61 62 63 64 65
66 67 68 69 70
71 72 73 74 75
76 77 78 79 80
81 82 83 84 85
86 87 88 89 90
91 92 93 94 95
96 97 98 99 100
101 102 103 104 105
106 107 108 109 110
111 112 113 114 115
116 117 118 119 120
121 122 123 124 125
表2
列1 列2 列3 列4 列5
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
运行后的结果
列1 列2 列3 列4 列5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
41 42 43 44 45
46 47 48 49 50
51 52 53 54 55
56 57 58 59 60
61 62 63 64 65
66 67 68 69 70
71 72 73 74 75
76 77 78 79 80
81 82 83 84 85
86 87 88 89 90
91 92 93 94 95
96 97 98 99 100
101 102 103 104 105
106 107 108 109 110
111 112 113 114 115
116 117 118 119 120
121 122 123 124 125
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
6 6 6 6 6
7 7 7 7 7
8 8 8 8 8
2015-01-08 15:39
fdxxhjc
等 级:
新手上路
帖 子:305
专家分:0
注 册:2014-4-10
第
4
楼
得分:0
回复 2楼 sdta
哦,从下往上插入,
循环中的step 负值,我再想想
2015-01-08 15:42
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
5
楼
得分:2
字段名相同,将表1和表2相关记录用 APPEND FROM 就可以生成所需新表。
2015-01-08 15:43
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
6
楼
得分:0
从下往上插入的好处是,不要考虑插入记录后,原记录号是否会变动。
坚守VFP最后的阵地
2015-01-08 15:48
fdxxhjc
等 级:
新手上路
帖 子:305
专家分:0
注 册:2014-4-10
第
7
楼
得分:0
代码如下,但运行不对
CLEAR
CLOSE all
SET SAFETY OFF
USE 表2
select * from 表2 into array BE
SELECT 2
USE 表1
FOR AA=1 TO 5
GOTO (AA-1)*5+5
FOR I=1 TO 3
APPEND BLANK
FOR j=1 TO 5
REPLACE ('列'+ALLTRIM(STR(j))) WITH BE(i,j)
ENDFOR
ENDFOR
ENDFOR
BROW
2015-01-08 15:49
fdxxhjc
等 级:
新手上路
帖 子:305
专家分:0
注 册:2014-4-10
第
8
楼
得分:0
我觉得是我的插入的记录指针不对
2015-01-08 15:50
sdta
来 自:江苏省连云港市
等 级:
版主
威 望:
323
帖 子:9621
专家分:26174
注 册:2012-2-5
第
9
楼
得分:0
当前记录号前插入 INSERT BEFORE BLANK
当前记录号后插入 INSERT BLANK
坚守VFP最后的阵地
2015-01-08 15:52
吹水佬
等 级:
版主
威 望:
432
帖 子:10064
专家分:41463
注 册:2014-5-20
第
10
楼
得分:0
select 新表
for i = 0 to 19
append from (表1) for between(recno(), i*50 + 1, (i+1) * 50)
append from (表2)
endfor
收到的鲜花
fdxxhjc
于
2015-01-08 16:29
送鲜花
3朵 附言:我很赞同
2015-01-08 15:54
22
1/3页
1
2
3
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-440865-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.760407 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved