访问2016 VBA代码以导出到Excel,';找不到可安装的ISAM';

访问2016 VBA代码以导出到Excel,';找不到可安装的ISAM';,excel,ms-access,vba,Excel,Ms Access,Vba,我有一个Access数据库,有多个表。我的最终目标是创建一个带有按钮的表单,当按下按钮时,它将运行宏。此宏将运行自定义VBA代码。 运行时,我希望宏使用一个工作表创建一个新的Excel工作簿,并将一个特定表导入该工作表。 目前,这是我的VBA代码。我几乎没有使用VBA的经验,所以不知道这段代码是否有效。我在网上找到这段代码是为了回答一个关于类似目标的问题,而不是我的() 我打开了VBA编辑器,创建了一个名为export module的新模块,该模块位于VBA编辑器窗口右侧导航器窗格中的Modul

我有一个Access数据库,有多个表。我的最终目标是创建一个带有按钮的表单,当按下按钮时,它将运行宏。此宏将运行自定义VBA代码。

运行时,我希望宏使用一个工作表创建一个新的Excel工作簿,并将一个特定表导入该工作表。

目前,这是我的VBA代码。我几乎没有使用VBA的经验,所以不知道这段代码是否有效。我在网上找到这段代码是为了回答一个关于类似目标的问题,而不是我的()

我打开了VBA编辑器,创建了一个名为
export module
的新模块,该模块位于VBA编辑器窗口右侧导航器窗格中的Modules文件夹中。
选项Compare Database
位已经存在,我将其余的输入到这个新模块中

保存模块后,我创建了一个新宏,其中有
RunCode
命令,函数字段为
=exportToExcel()
。当我运行宏时,我得到了错误

Run-time error '3170':
Could not find installable ISAM.
有人知道这个错误是从哪里来的吗?我如何修复它?另外,您是否可以对我的VBA代码进行评论,并告诉我是否有任何错误,我应该更改什么,或者我是否打算以正确的方式自动导出到Excel


非常感谢您的帮助。

我们做了更多的挖掘工作,如果将来有人发现这个问题,我们能够找到解决方案

我不知道ISAM的整个问题是什么,但对完成我想要的任务至关重要。我在VBA编辑器中创建了一个新模块,并在其中编写了此代码

Sub exportToXL()

On Error GoTo ErrorHandler

Dim dbTable As String
Dim xlWorksheetPath As String

'<PATH> is the location you want the Excel file saved to, C:\ etc...
xlWorksheetPath = "<PATH>"

xlWorksheetPath = xlWorksheetPath & "xlExportAccessToExcel.xls"

'table1 is generic table name, this is the name of the table you want to export
dbTable = "table1"

DoCmd.TransferSpreadsheet transfertype:=acExport, spreadsheettype:=acSpreadsheetTypeExcel9, tablename:=dbTable, FileName:=xlWorksheetPath, hasfieldnames:=True

ErrorHandlerExit:

    Exit Sub

ErrorHandler:

    MsgBox "Error No: " & Err.Number & ";Description: " & Err.Description

    Resume ErrorHandlerExit


End Sub
Sub exportToXL()
关于错误转到错误处理程序
Dim dbTable作为字符串
尺寸xlWorksheetPath作为字符串
'是要将Excel文件保存到的位置,C:\etc。。。
xlWorksheetPath=“”
xlWorksheetPath=xlWorksheetPath和“xlExportAccessToExcel.xls”
'表1是通用表名,这是要导出的表的名称
dbTable=“表1”
DoCmd.TransferSpreadsheet transfertype:=acExport,spreadsheettype:=acSpreadsheetTypeExcel9,tablename:=dbTable,FileName:=xlWorksheetPath,hasfieldnames:=True
ErrorHandlerExit:
出口接头
错误处理程序:
MsgBox“错误编号:&Err.Number&”说明:&Err.Description
恢复ErrorHandlerExit
端接头
我直接从VBA编辑器中运行此模块,导航到指定的文件位置,并在其中找到了一个包含所需数据的新Excel工作簿


希望这对将来的人有所帮助。

我怀疑这是对错误excel库的引用,并且更改了使用的代码

acSpreadsheetTypeExcel2Xml

acSpreadsheetTypeExcel9


根据主机上安装的excel的任何版本,它实际上起到了作用。

我已经安装了excel 2016,上面的答案中的新代码可以与…Excel9和…Excel12Xml一起使用
Sub exportToXL()

On Error GoTo ErrorHandler

Dim dbTable As String
Dim xlWorksheetPath As String

'<PATH> is the location you want the Excel file saved to, C:\ etc...
xlWorksheetPath = "<PATH>"

xlWorksheetPath = xlWorksheetPath & "xlExportAccessToExcel.xls"

'table1 is generic table name, this is the name of the table you want to export
dbTable = "table1"

DoCmd.TransferSpreadsheet transfertype:=acExport, spreadsheettype:=acSpreadsheetTypeExcel9, tablename:=dbTable, FileName:=xlWorksheetPath, hasfieldnames:=True

ErrorHandlerExit:

    Exit Sub

ErrorHandler:

    MsgBox "Error No: " & Err.Number & ";Description: " & Err.Description

    Resume ErrorHandlerExit


End Sub