| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1115 人关注过本帖
标题:请教表2的行记录插入表1
只看楼主 加入收藏
fdxxhjc
Rank: 1
等 级:新手上路
帖 子: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
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
首先算法就有问题
当RECNO()=50
插入10行记录后,原表中的第100行就变为110行,原表中的第150行就变为160行,以此类推。为了保证原表中的插入顺序不变,应该从后向前拷入记录。
插入不难,这样做有什么意义吗

坚守VFP最后的阵地
2015-01-08 15:19
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
回复 2楼 sdta
哦,从下往上插入,
循环中的step 负值,我再想想
2015-01-08 15:42
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:2 
字段名相同,将表1和表2相关记录用 APPEND FROM 就可以生成所需新表。
2015-01-08 15:43
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
从下往上插入的好处是,不要考虑插入记录后,原记录号是否会变动。

坚守VFP最后的阵地
2015-01-08 15:48
fdxxhjc
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:305
专家分:0
注 册:2014-4-10
收藏
得分:0 
我觉得是我的插入的记录指针不对
2015-01-08 15:50
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
当前记录号前插入 INSERT BEFORE BLANK
当前记录号后插入 INSERT BLANK

坚守VFP最后的阵地
2015-01-08 15:52
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10607
专家分:43186
注 册:2014-5-20
收藏
得分:0 
select 新表
for i = 0 to 19
    append from (表1) for between(recno(), i*50 + 1, (i+1) * 50)
    append from (表2)
endfor
收到的鲜花
  • fdxxhjc2015-01-08 16:29 送鲜花  3朵   附言:我很赞同
2015-01-08 15:54
快速回复:请教表2的行记录插入表1
数据加载中...
 
   



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

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