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更新为更新的版本来解决它,但我已经有了比帖子更新的版本。
非常感谢任何有关此事的帮助。
提前致谢。
答案 0 :(得分:1)
您收到错误,因为ltr是一个RecordSet,函数需要一个字符串。
其次,acSpreadsheetTypeExcel3是一种非常古老的excel文件。我个人应该至少使用acSpreadsheetTypeExcel9。这将解决您的第二个错误。
我相信这应该有用
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, ltr.Name, "C:\Test\db"
这是假设ltr包含表名。如果ltr.Name返回一个查询,那么这可能不起作用。