设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 4634|回复: 18
打印 上一主题 下一主题

[Access本身] 关于access2013链接DBF文件问题,请指教,谢谢

[复制链接]
跳转到指定楼层
1#
发表于 2015-8-25 07:46:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
公司强制所有office升级到2013版本!这个公司的员工都炸窝了,因为大家使用office2007的时候链接的都是公司ERP系统导出的DBF文件,然后再进行access的数据提取处理,现在公司强制升级到2013版本,但是不再支持DBF文件格式的链接,请各位老师看看有没有办法继续链接DBF文件,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

推荐
发表于 2015-8-25 10:05:03 | 只看该作者
是说可以通过外部数据通用的ODBC,导入或链接DBF文档。
回复 支持 1 反对 0

使用道具 举报

推荐
 楼主| 发表于 2015-8-25 09:27:54 | 只看该作者
tmtony 发表于 2015-8-25 08:32
将dbf作为ODBC 链接过来

老师您是说引用ODBC时候来链接DBF文件吗?能否截个图,谢谢
回复 支持 0 反对 1

使用道具 举报

点击这里给我发消息

推荐
发表于 2015-8-25 08:03:12 | 只看该作者
本帖最后由 laimf 于 2015-8-25 08:18 编辑

无语。。。。。。
方法倒是很多,可以修改导出格式为access,excel等office文档的格式。最好还是降低access版本到2013之前,2010才是最好的版本。

可以保留老版本的office运行环境,也可以安装Foxbase,Dbase,Visual FoxPro等数据库,或者一些这方面的插件DBFViewerPlus。
回复 支持 0 反对 1

使用道具 举报

点击这里给我发消息

3#
发表于 2015-8-25 08:32:12 | 只看该作者
将dbf作为ODBC 链接过来
6#
 楼主| 发表于 2015-8-25 10:20:06 | 只看该作者
laimf 发表于 2015-8-25 10:05
是说可以通过外部数据通用的ODBC,导入或链接DBF文档。

微软access2013好像不在支持DBF文件的导入导出链接了!
7#
发表于 2015-8-25 10:25:15 | 只看该作者
本帖最后由 风中漫步 于 2015-8-25 10:27 编辑

他们是说通过odbc,记得有这个选项的,也能代码通过ado,dao借助odbc
8#
 楼主| 发表于 2015-8-25 11:03:24 | 只看该作者
谢谢大家帮助了!
9#
发表于 2015-8-25 11:10:37 | 只看该作者
laimf 发表于 2015-8-25 08:03
无语。。。。。。
方法倒是很多,可以修改导出格式为access,excel等office文档的格式。最好还是降低acces ...

这个问题,我老早就提出过了。http://www.office-cn.net/thread-117273-1-1.html
但dbf文件是可以用excel打开的。最初我的办法是用excel打开,再另存,然后导入。
另外,应该可以用ADO来处理【手头上没有dbf文件,不知道是否支持accdb格式】:
  1. Dim cn As Object
  2.     Dim rs As Object
  3.     Dim strSql As String
  4.     Dim strConnection As String
  5.     Set cn = CreateObject("ADODB.Connection")
  6.     strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
  7.         "Data Source=C:\YourDir_thatcontains_dbf_files\\;" & _
  8.         "Extended Properties=dBase IV"

  9.     strSql = "S E L E C T   [COL1],[COL_ETC] FROM DBF_TABLE"      '不含扩展名,鉴于论坛过滤关键字,请自行把空格去掉

  10.     cn.Open strConnection
  11.     Set rs = cn.Execute(strSql)

  12.     While Not rs.EOF
  13.       Debug.Print rs.Fields("COL1").Value & vbTab & rs.Fields("COL_ETC").Value
  14.       'Or do somethin else you need to do
  15.       rs.MoveNext
  16.     Wend

  17.     rs.Close
  18.     Set rs = Nothing
  19.     cn.Close
  20.     Set cn = Nothing
复制代码

另一种简单点的做法,直接导入文件。:

  1. Dim Conn As New ADODB.Connection
  2. Conn.open"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\S\Job.mdb"
  3. Dim strSQL As  String
  4. strSQL="S E L E C T * INTO [Job] FROM [dBase III;DATABASE=D:\S].[JobX]"
  5. '这里Job为Access的表, 后面是DBF文件的路径。注意:不需要扩展名
  6. Conn.Execute strSQL
  7. Conn.Close()
复制代码

如使用12.0的引擎,可能还需要修改注册表:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE III]
"Engine"="Xbase"
"ExportFilter"="dBASE III (*.dbf)"
"ImportFilter"="dBASE III (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
Here are other dbase files:
dBASE-4.0.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE IV]
"Engine"="Xbase"
"ExportFilter"="dBASE IV (*.dbf)"
"ImportFilter"="dBASE IV (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
dBASE-5.0.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\ISAM Formats\dBASE 5.0]
"Engine"="Xbase"
"ExportFilter"="dBASE 5 (*.dbf)"
"ImportFilter"="dBASE 5 (*.dbf)"
"CanLink"=hex:01
"OneTablePerFile"=hex:01
"IsamType"=dword:00000000
"IndexDialog"=hex:00
"CreateDBOnExport"=hex:00
"SupportsLongNames"=hex:01
xBase.reg
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Xbase]
"win32"="C:\\PROGRA~1\\COMMON~1\\MICROS~1\\OFFICE14\\ACEXBE.DLL"
"DbcsStr"=hex:01
"Mark"=dword:00000000
"Date"="MDY"
"Exact"=hex:00
"Deleted"=hex:01
"Century"=hex:00
"CollatingSequence"="Ascii"
"DataCodePage"="OEM"
"NetworkAccess"=hex:01
"PageTimeout"=dword:00000258
参考链接:
http://jonwilliams.org/wordpress ... office-access-2013/

点评

呵呵,无微不至  发表于 2015-8-25 16:19
10#
 楼主| 发表于 2015-8-25 13:00:11 | 只看该作者
roych 发表于 2015-8-25 11:10
这个问题,我老早就提出过了。http://www.office-cn.net/thread-117273-1-1.html
但dbf文件是可以用exce ...

老师谢谢帮助,我提供一份DBF文件给您您试试,谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-2-24 02:25 , Processed in 0.113139 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表