在.xlsx中导出访问记录集时出错

时间:2014-03-04 08:21:51

标签: ms-access access-vba

我想通过VBA将Access 2010中的记录集“myTableRS”导出到.xlsx文件中,但是它显示错误为“您输入的表达式是其参数之一的错误数据类型”。如果我使用Msgbox(myTableRS![Field3])从msgbox中的记录集中访问任何字段值,那么它的工作正常。即使我导出Access Table,所以下面的代码工作正常,但不适用于myTableRS记录集。

我正在使用代码:

 DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
   myTableRS, "D:\MAS.xlsx", True

任何人都可以告诉我们如何修复它吗?


如何创建已保存的查询?我有一个表,我想从中搜索特定记录并仅在搜索xlsx的同时保存该特定记录

1 个答案:

答案 0 :(得分:1)

如果查看TransferSpreadsheet,您会看到表名是一个字符串。

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
   "myTableRS", "D:\MAS.xlsx", True

这意味着您无法使用TransferSpreadsheet导出记录集,但是,您可以创建已保存的查询并将其导出。

创建已保存的查询

sSQL = "SELECT * FROM MyTable WHERE Id = " & thenumber

If Not IsNull(DLookup( _
    "ExportQuery", "MSysObjects", "[Name]='ExportQuery' AND Type= 5")) Then
    ''Query exists, overwrite the sql permanently
    CurrentDb.QueryDefs("ExportQuery").SQL = sSQL
Else
    CurrentDb.CreateQueryDef "ExportQuery", sSQL
End If