以编程方式导出访问表

时间:2011-07-07 13:42:30

标签: java php ms-access ado autoit

好吧,经过几个小时的搜索和网络阅读后,我已经崩溃并决定寻求帮助。我正在努力将许多更内侧和重复的任务自动化为工作,并偶然发现AutoIt,我喜欢这个工具。无论如何,今天的任务是从Access 2007以几种不同的格式导出大量表格和查询。主要是CSV,一些Tab分隔,以及几个dBase DBF和DBT。现在这一切都不是那么困难,实际上以前担任我职位的人在导出表格的mdb中创建了大约一百个宏。在我看来,他仍然没有加快这个过程,因为你仍然需要运行每个宏。我期待创建一个自动脚本,将正确的格式导出正确的表格到正确的名称。似乎不应该那么困难。

所以到目前为止我一直在想象使用ADO告诉Access导出哪个表格格式和位置。但我似乎无法找到做到这一点所需的必要命令。我也想过,或许,至少使用基于文本的格式(CSV,txt,tab),我可以从给定的表或查询中读取每个记录,然后自己用autoit构建文本文件,而不是最简单的方法,但它可以工作。尝试创建dBase文件时出现问题,我不知道从哪里开始。

我愿意使用JAVA,AutoIt,PHP或Perl来完成我的任务。

我应该注意到我对ADO相当新。 ADO中的语法似乎经常让我失望。所以,任何和所有帮助表示赞赏,请不要使用“只是google it”回复。如果你有一个分享的链接,或者你发现有用的资源,请发布,我也不会对阅读或研究过敏。有时候寻求帮助更有意义。

谢谢,

凯尔

2 个答案:

答案 0 :(得分:1)

如果你愿意使用VBA,你可能只使用一些代码和DoCmd-Object。

要导出为CSV,请查看DoCmd.Transfertext

要导出到dBase,请查看DoCmd.TransferDatabase

如果您对使用这些内容有疑问,请在评论中提问,我会提供更多信息。

答案 1 :(得分:0)

这是一种疯狂的想法,但如果您已经了解Java,那么您可以使用JDBC-ODBC bridge来实现这一点。您首先必须将特定的Access数据库注册为命名的ODBC数据源,因为该桥似乎不支持动态ODBC。我手边没有Windows机器,也不记得执行此操作的确切步骤,但应该可以从ODBC驱动程序管理器获得。