23

我的 access 数据库中有两个表,我希望能够导出到 excel

我可以通过打开表格然后执行 File->Export... 然后选择格式并输入文件名来做到这一点。

但是,这样用户实际上必须输入名称,因此存在错误命名文件或将其保存为错误格式或保存在错误位置的空间。此外,这两个表必须导出到两个单独的工作簿。

我想要做的是在表单上创建一个按钮,自动将一个表导出到一个工作表,另一个导出到另一个工作表,两者都在同一个 excel 工作簿中。

如果不可能将它们放在同一个工作簿中,那很好。我只是希望它们自动导出到保存我的访问数据库的同一目录中。

如果你知道怎么做,一个额外的好处可能是自定义名称以包含日期。这样,该目录也将具有历史导出。有什么建议吗?

4

3 回答 3

43

您可以使用 VBA 将 Access 数据库表导出为 Excel 工作簿中的工作表。

要获取 Access 数据库的路径,请使用该CurrentProject.Path属性。

要使用当前日期命名 Excel 工作簿文件,请使用该Format(Date, "yyyyMMdd")方法。

最后,要将表格导出为工作表,请使用该DoCmd.TransferSpreadsheet方法。

例子:

Dim outputFileName As String
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True

这会将 Table1 和 Table2 输出到同一个工作簿中。

高温高压

于 2009-12-04T21:57:16.613 回答
7

劳伦斯给了你一个很好的答案。但是,如果您想更好地控制导出到 Excel 中的位置,请参阅模块:示例 Excel 自动化- 缓慢的逐个单元格和模块:使用自动化将记录传输到 Excel 您可以执行诸如从第 2 行开始导出记录集和在第 1 行插入自定义文本。以及所需的任何自定义格式。

于 2009-12-05T04:14:07.527 回答
-8

对于通过搜索引擎找到此内容的人,您不需要 VBA。你可以:

1.) select the query or table with your mouse
2.) click export data from the ribbon
3.) click excel from the export subgroup
4.) follow the wizard to select the output file and location.
于 2015-07-23T19:01:55.297 回答