将 Access 表导出到 Excel 错误

Posted

技术标签:

【中文标题】将 Access 表导出到 Excel 错误【英文标题】:Exporting Access Tables to Excel Error 【发布时间】:2018-07-06 20:38:41 【问题描述】:

我正在尝试将访问表导出到 Excel,但在输入查询和路径名时不断收到“错误,预期标识符”。下面是代码:

Sub exportToXl()

On Error GoTo ErrorHandler

Dim dbTable As String

Sub dmwExport("SuperDash_Usage_Rpt", "L:\WF Reporting\Superdash\SuperdashRpt.xlsx")

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DoCmd.TransferSpreadsheet _

TransferType:=acExport, _

SpreadsheetType:=acSpreadsheetTypeExcel12Xml, _

TableName:="SuperDash_Usage_Rpt", _

FileName:=L:\WF Reporting\Superdash\SuperdashRpt.xlsx, _

HasFieldNames:=True

End Sub

这是我的访问表中的确切查询名称以及我想要导出表的路径。我做错了什么?

【问题讨论】:

【参考方案1】:

Sub dmwExport 更改为Call dmwExport

【讨论】:

我在 Sub dmwexport("Superdash_Usage_rpt", "L:\WF Reporting\Superdash\SuperdashRpt.xlsx") 之后定义查询名称时遇到错误 @JennaTerral 更新答案 虽然这可能会回答问题,但最好添加一些关于此答案如何有助于解决问题的描述。请阅读How do I write a good answer 了解更多信息。【参考方案2】:

您可能需要在文件路径周围添加" ",以便将其作为文本而非变量读取。

像这样:

Sub exportToXl()

On Error GoTo ErrorHandler

Dim dbTable As String

Sub dmwExport("SuperDash_Usage_Rpt", "L:\WF Reporting\Superdash\SuperdashRpt.xlsx")

'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DoCmd.TransferSpreadsheet _

TransferType:=acExport, _

SpreadsheetType:=acSpreadsheetTypeExcel12Xml, _

TableName:="SuperDash_Usage_Rpt", _

'Added "" around file path in order to be read as text
FileName:="L:\WF Reporting\Superdash\SuperdashRpt.xlsx", _

HasFieldNames:=True

End Sub

您也可以“速记”DoCmd.TransferSpreadSheet

例子:

DoCmd.TransferSpreadSheet acExport, acSpreadSheetTypeExcel12Xml, "SuperDash_Usage_Rpt", "L:\WF Reporting\Superdash\SuperdashRpt.xlsx", True

我希望这会有所帮助!

【讨论】:

以上是关于将 Access 表导出到 Excel 错误的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 Excel 导出到 Access - 错误:参数不是可选的

Excel VBA 导出到 Access:ADO 错误

将具有多个表的 Access 数据库导出到具有多个工作表的 Excel

将值从 Excel 工作表导出到 Access 记录

如何将 Access 数据库中的所有表导出到 Excel - 每个表的工作表

从 Access 导出到 Excel 时出现日期超出范围错误