2014-03-04 36 views
1

我想通過VBA將Access 2010中的記錄集「myTableRS」導出到.xlsx文件中,但它顯示錯誤爲「您輸入的表達式對其中一個數據類型錯誤論據」。如果我使用Msgbox(myTableRS![Field3])從msgbox中的記錄集中訪問任何字段值,所以它的工作正常。即使當我出口訪問表,所以下面的代碼工作正常,但不適用於myTableRS記錄集。導出.xlsx中的訪問記錄集時出錯

我使用的代碼:

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

誰能告訴如何解決它?


如何創建保存的查詢?我有一張表格,我想從中搜索特定記錄,並僅在xlsx中搜索的同時保存該特定記錄。

回答

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 
+0

我相信我已經展示瞭如何創建一個保存的查詢。 – Fionnuala