| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 334 人关注过本帖
标题:把DBF导入到Access中的一种方法
只看楼主 加入收藏
xuminxz
Rank: 4
等 级:业余侠客
威 望:5
帖 子:90
专家分:226
注 册:2011-5-8
结帖率:100%
  问题点数:0  回复次数:3   
把DBF导入到Access中的一种方法
VFP的DBF表导入到Access数据库中,在VFP6时另存为dBase格式可以导入。现在导入时常提示格式错误。如用ODBC等有点麻烦。


用如下代码处理文件后,可直接导入。
程序代码:

RUN dir *.dbf /b> ls.txt
CREATE CURSOR temp ( wjmc c(20),bz m)
APPEND FROM ls sdf
SCAN
_wjmc=ALLTRIM(wjmc)
APPEND MEMO  bz FROM (_wjmc) OVERWRITE
ENDSCAN

REPLACE bz WITH CHR(3)+'w'+SUBSTR(bz,3) all
MD out &&如有可不用建立
SCAN
_wjmc='out\'+ALLTRIM(wjmc)  &&可以用_wjmc=ALLTRIM(wjmc) 覆盖原表不影响使用,当然重要数据要备份。
COPY MEMO bz to &_wjmc
ENDSCAN
 


[此贴子已经被作者于2019-4-11 09:22编辑过]

附件: 您没有浏览附件的权限,请 登录注册
收到的鲜花
  • 厨师王德榜 于 2019-04-12 11:22 送鲜花  1朵   附言:不错有想法。
2019-04-11 09:18
sylknb
Rank: 4
等 级:贵宾
威 望:14
帖 子:1506
专家分:174
注 册:2006-6-3
  得分:0 
能解释各行代碼的含义好吗?
2019-04-11 14:22
xuminxz
Rank: 4
等 级:业余侠客
威 望:5
帖 子:90
专家分:226
注 册:2011-5-8
  得分:0 
只是把DBF文件的标志字节改了一下,第一字节改为16进制03,第二字节改为77 (小写w)。如果只有一个文件,可以用二进制编辑器改,例如ULTRAEDIT。
我开始就是用它试的。
RUN dir *.dbf /b> ls.txt 这个可能你不知道,这是暴露年龄的DOS命令,它把当前文件夹下的表文件名放到ls.txt文件中。有更高级的方法懒得用了,因为我有几十个表要放到Access中,用了个最省事的方法。

快两年不碰VFP了。
2019-04-11 21:11
wcx_cc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:22
帖 子:215
专家分:570
注 册:2015-10-2
  得分:0 
用这种方法,将一批 dbf 文件改造一次,再将改造后的 dbf文件,能成功导入到 mdb,也是一种不错的方法!
2019-04-12 00:00







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

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