我想通过VBA将Access 2010中的记录集“myTableRS”导出到.xlsx文件中,但是它显示错误为“您输入的表达式是其参数之一的错误数据类型”。如果我使用Msgbox(myTableRS![Field3])从msgbox中的记录集中访问任何字段值,那么它的工作正常。即使我导出Access Table,所以下面的代码工作正常,但不适用于myTableRS记录集。
我正在使用代码:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, _
myTableRS, "D:\MAS.xlsx", True
任何人都可以告诉我们如何修复它吗?
如何创建已保存的查询?我有一个表,我想从中搜索特定记录并仅在搜索xlsx的同时保存该特定记录
答案 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