如何从VFP数据库中导出几个字段到MDB数据库中?

tttk 2000-04-06 03:33:00
我正在使用VB改造原有的Foxpro软件,现在面临如何把Foxpro数据导入到MDB数据库的问题。
由于数据库结构的重新定义和DBF与MDB数据库数据类型的差异,无法使用VB数据管理器的导入命令实现。我已经把Foxpro数据导入到TXT文本文件当中,但下一步我感到很难下手:因为我只想使用txt文本中的其中几个字段的数据来填充MDB数据库。
从编程角度,我该怎么实现?谢谢!
...全文
182 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tttk 2000-04-12
  • 打赏
  • 举报
回复
谢谢各位的帮助,几种方法我都试过了,编程的方法适用性大,用ACCESS导入比较方便,但前者具有一定的挑战性,在此非常感谢major2的提示代码。
weidong70 2000-04-07
  • 打赏
  • 举报
回复
好象用Access的导入功能即简单,也方便。
major2 2000-04-06
  • 打赏
  • 举报
回复
一、用程序实现,在VB6里面创建一个数据工程,假设源数据库为dbfox,目标数据库为dbaccess,源表为tbsource,目标表为tbtarget,目标表需要源表中的字段f1,f2,f3,分别放在目标表的fa,fb,fc字段中,程序写法如下:
Public Sub ConvertData()
Dim cnfox as adodb.connection
dim cnacc as adodb.connection
dim rssource as adodb.recordset
dim strSQL as string

set cnfox=new adodb.connection '指向dbfox的数据连接
set cnacc=new adodb.connection '指向dbaccess的数据连接
cnfox.open "..."
cnacc.open "..." '由于手头没有任何资料,上网的机子上也没有装VB,所以连接字符串不知道怎样写了,你可以在数据环境里用向导建立起来,然后把其中的连接串属性抄下来写在这里。
set rssource=new adodb.recordset
set rssource=cnfox.execute "SELECT f1,f2,f3 FROM tbsource"
if not (rssource.eof and rssource.bof) then
rssource.movefirst
do until rssource.eof
strSQL="INSERT INTO tbtarget (fa,fb,fc) VALUE ('"
strSQL=strSQL & rssource.fields(0).Value & "','"
strSQL=strSQL & rssource.fields(1).Value & "','"
strSQL=strSQL & rssource.fields(2).Value & "')"
cnacc.execute strSQL
rssource.movenext
loop
endif
rssource.close
set rssource=nothing
cnfox.close
cnacc.close
set cnfox=nothing
set cnacc=nothing
End Sub
二、不用程序实现,在ACCESS的环境里打开你的目标数据库dbaccess,然后把源数据库dbfox中的源表tbsource完全地导入一份到数据库里,名字另取一个,比如叫tbstep1,然后修改这个tbstep1的表结构到你需要的样子,然后再怎么做你应该很清楚了吧,轻松加愉快就搞定了,也不会破坏原来的数据库,万一不小心搞错了也没关系,再来一遍。
guest 2000-04-06
  • 打赏
  • 举报
回复
太复杂了?
还不如用DAO+SQL语句编一个
mxp 2000-04-06
  • 打赏
  • 举报
回复
将一个字段导入到txt中,每行回车,再用line input#语句读入该字段内容,并存入到mdb数据库,其他几个字段依此类推即可!
(用Access的导入不可以吗?,或用vb直接读写也比这简单)

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧