【问题标题】:Error while exporting a access recordset in .xlsx导出 .xlsx 中的访问记录集时出错
【发布时间】:2014-04-05 15:56:24
【问题描述】:

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

我正在使用代码:

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

谁能告诉我如何解决它?


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

【问题讨论】:

    标签: ms-access vba


    【解决方案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
    

    【讨论】:

    • 我相信我已经展示了如何创建保存的查询。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多