设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: yanwei82123300
打印 上一主题 下一主题

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

[复制链接]

点击这里给我发消息

11#
发表于 2015-8-25 16:27:29 | 只看该作者
本帖最后由 laimf 于 2015-8-25 16:48 编辑

用2013的excel可以打开导入,我刚试了一下成功了。
步骤:
1.手工创建一个基于DBF文件的ODBC链接字符串文件;
2.新建一个excel2013,打开“数据”菜单,“自其他来源”,选最后一个(来自微软的ODBC查询);
3.在 “选择数据源”窗体中,“数据库”选项卡菜单,“浏览”,选择已经建立的ODBC链接字符串文件,这时候就添加了一个新数据源;
4.选中这个数据源,“确定”,查询向导选择列窗体就出来了,点“>"全选,然后一路”下一步“,跟ACCESS中导入数据操作差不多。
5.默认是“将数据返回到excel”,点”完成“,有弹出”数据导入“,在这里选一个起始单元格,确定就OK!!!


不用这么复杂的操作。

EXCEL可以直接导入DBF文件。文件--打开--计算机--浏览,选中DBF文档,就直接导入EXCEL了。

点击这里给我发消息

12#
发表于 2015-8-25 16:33:24 | 只看该作者
本帖最后由 laimf 于 2015-8-25 16:46 编辑

DBF文档数据导入EXCEL ,再导入ACCES。
13#
 楼主| 发表于 2015-8-26 07:42:34 | 只看该作者
laimf 发表于 2015-8-25 16:33
DBF文档数据导入EXCEL ,再导入ACCES。

谢谢帮助,PDF是公司的ERP系统每天导出的文件,每天更新的!
14#
发表于 2015-8-26 08:38:28 | 只看该作者
yanwei82123300 发表于 2015-8-26 07:42
谢谢帮助,PDF是公司的ERP系统每天导出的文件,每天更新的!

如果你的电脑装了2003的话可以用这个:
Sub test2()
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "test", CurrentProject.Path & "\d_ssil.dbf", True
End Sub
否则就用这个:
  1. Sub test()
  2. Dim cnn As New ADODB.Connection
  3. Dim rst As New ADODB.Recordset
  4. Dim rst1 As New ADODB.Recordset
  5. Dim strSQL As String
  6. Dim i As Long
  7. '经测试,12.0引擎不支持,估计需要修改注册表。
  8. '这里用4.0的引擎,在32位Office 2013版本测试成功。有条件的版友烦请测试下64位的Office 2013
  9. cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=dBase IV;Data Source=" & CurrentProject.Path
  10. '把SQL语句多余的空格删掉
  11. strSQL = "S E L E C T * FROM [D_SSIL]"

  12. rst.Open strSQL, cnn, adOpenKeyset, adLockOptimistic

  13. rst1.Open "test", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

  14. Do Until rst.EOF
  15.     rst1.AddNew
  16.     For i = 0 To rst1.Fields.Count - 1
  17.         rst1(i) = rst(i)
  18.     Next
  19.     rst.MoveNext
  20. Loop
  21. rst1.UpdateBatch
  22. rst1.Close
  23. End Sub
复制代码


本帖子中包含更多资源

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

x
15#
发表于 2015-8-26 09:20:25 | 只看该作者
那erp就没有种格式是acc2013也喜欢的?
16#
 楼主| 发表于 2015-8-26 10:05:07 | 只看该作者
roych 发表于 2015-8-26 08:38
如果你的电脑装了2003的话可以用这个:
Sub test2()
DoCmd.TransferSpreadsheet acImport, acSpreadshe ...

老师,我们电脑已经被全部更新成了OFFICE2013版本!

点评

先试试吧。我的电脑也是2013的,测试成功。如果两个版本office共存的话,可以用第一种。  发表于 2015-8-26 10:49

点击这里给我发消息

17#
发表于 2015-8-28 05:57:56 来自手机 | 只看该作者
应有DAO36的,用mdb
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-24 02:10 , Processed in 0.106356 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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