将记录集从Access 2007导出到电子表格

时间:2013-06-18 14:52:30

标签: vba ms-access ms-access-2007 access-vba

Private Sub Command27_Click()
Dim ltr As DAO.Recordset
Set ltr = Me.RecordsetClone
    If Not (ltr.BOF And ltr.EOF) Then
        ltr.MoveFirst
        End If
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel3, ltr, "C:\Test\db"
    Set ltr = Nothing
End Sub

我正在尝试将表单中从表格中提取的特定记录导出到Excel电子表格中。我目前收到“运行时错误'2498':您输入的表达式是其中一个参数的错误数据类型。”

我注意到在尝试导出记录集时我只能得到这个。如果我尝试导出整个表,我会收到不同的错误消息。 “运行时错误'3170':找不到可安装的ISAM。”

我已经对此做了一些阅读,但大多数人说他们通过将Office更新为更新的版本来解决它,但我已经有了比帖子更新的版本。

非常感谢任何有关此事的帮助。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您收到错误,因为ltr是一个RecordSet,函数需要一个字符串。

其次,acSpreadsheetTypeExcel3是一种非常古老的excel文件。我个人应该至少使用acSpreadsheetTypeExcel9。这将解决您的第二个错误。

我相信这应该有用

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, ltr.Name, "C:\Test\db"

这是假设ltr包含表名。如果ltr.Name返回一个查询,那么这可能不起作用。