2013-06-18 59 views
0
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':您輸入的表達式是這些參數之一的錯誤數據類型。」從Access 2007導出記錄集到電子表格

我注意到我只在試圖導出記錄集時纔得到這個。如果我嘗試導出整個表格,則會收到不同的錯誤消息。 「運行時錯誤'3170':找不到可安裝的ISAM。」

我已經做了一些閱讀,但大多數人說他們通過將Office更新到更新的版本來解決它,但是我已經有了比帖子更新的版本。

任何幫助在這個問題將不勝感激。

在此先感謝。

回答

1

由於ltr是一個RecordSet,函數需要一個字符串,所以你會得到這個錯誤。

其次acSpreadsheetTypeExcel3是非常古老的excel文件類型。我個人應該至少使用acSpreadsheetTypeExcel9。這會照顧你的第二個錯誤。

我認爲這應該工作

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

這是假設LTR包含表名。如果ltr.Name返回一個查詢,那麼這可能不起作用。

+0

不能工作得更好。非常感謝! – Chuck

相關問題