| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1147 人关注过本帖
标题:如何导数据?
只看楼主 加入收藏
asdf_123000
Rank: 4
等 级:业余侠客
威 望:1
帖 子:273
专家分:227
注 册:2012-12-20
结帖率:91.18%
收藏
已结贴  问题点数:20 回复次数:31 
如何导数据?
二个字段数相同,但字段名部分不同,其数据内容和格式完全一样的表,如何从有数据值的前表导入空的后表?
搜索更多相关主题的帖子: 如何 
2012-12-20 06:54
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:2 
程序代码:
CREATE CURSOR T1 (BH C(2),A1 C(2))
INSERT INTO T1 VALUES ([01],[AA])
INSERT INTO T1 VALUES ([02],[AB])
COPY TO ARRAY T11
CREATE CURSOR T2 (BH1 C(2),A2 C(2))
APPEND FROM ARRAY T11 FIELDS BH1,A2
BROWSE
收到的鲜花
  • tlliqi2012-12-21 10:46 送鲜花  10朵   附言:加点辛苦费
2012-12-20 16:53
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:2 
用append from不行吗

例如
use 表a
append from 表b
2012-12-20 17:15
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:2 
可以换个思路,先复制这个表,然后再修改字段名。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-12-20 17:16
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
以下是引用tlliqi在2012-12-20 17:15:35的发言:

用append from不行吗

例如
use 表a
append from 表b
字段名不一样,不能直接append的。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-12-20 17:17
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用hu9jj在2012-12-20 17:16:37的发言:

可以换个思路,先复制这个表,然后再修改字段名。
修改字段名可行
2012-12-20 17:18
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
这个问题,说到底还是基础问题,VFP帮助文件中有详细的说明,建议楼主多看看帮助文件的有关内容
2012-12-20 18:42
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:5 
如果两个表的字段类型和顺序都相同:
*(假设从old.dbf导入到ok.dbf)
USE i:\ok
USE i:\old in 0
FOR i=1 to RECCOUNT("old")
    APPEND BLANK
    GO i in old
    FOR j=1 to FCOUNT()
        SELECT old
        n_f=fields(j)
        SELECT ok
        REPLACE (fields(j)) with old.&n_f
    NEXT
NEXT
BROWSE
收到的鲜花
  • tlliqi2012-12-21 10:46 送鲜花  10朵   附言:加点辛苦费

相互学习,互相交流,共同提高。
2012-12-20 20:35
cxzbzgz
Rank: 8Rank: 8
来 自:云南楚雄
等 级:贵宾
威 望:24
帖 子:298
专家分:808
注 册:2012-6-15
收藏
得分:3 
**假设你所要处理的表分别为A、B表,表A为空表,表B是已有数据的表。表A的字段分别为A1、A2....,表B的字段分别为B1、B2.....

SELECT 1
 USE A
  INDEX on A1 TO A1  && 以表A的主字段A1作为关键字建立索引
  SELECT 2
  USE B
  GO TOP
 DO whil NOT EOF()
   mB1=B1         &&将表B的各字段赋值给mB1、nB2.....
   mB2=B2
  .......  
  SELECT 1        
   SEEK mB1       && 在空数据表中寻找B数据表中的记录
    IF EOF()      && 如果没有找到,就追加一条空记录
     APPEND BLANK
     REPLACE A1 WITH mB1    && 用B表中数据记录的值替换空记录中的值
     REPLACE A2 WITH mB2
    ..........
    ENDIF
   SELECT 2
   SKIP
  ENDDO         && 全部导出完成就结束循环
收到的鲜花
  • tlliqi2012-12-21 10:46 送鲜花  10朵   附言:加点辛苦费

学习交流VFP,QQ:248561326。
2012-12-21 09:24
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
何须如此复杂!文件不大的话可以先将表中的记录全部转入二维数组中,然后将二维数组再转入到新表中;文件太大的话可以通过循环将每条记录分别通过一维数组转到新表中。如同2楼的代码。

[ 本帖最后由 hu9jj 于 2012-12-21 09:43 编辑 ]

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-12-21 09:42
快速回复:如何导数据?
数据加载中...
 
   



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

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