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