2015-10-07 200 views
0

我需要找到最快的方法來將通過MS Access 2003從Oracle導出的查詢導出到MS Excel。行數約爲34,000。從Oracle通過MS Access 2003導出到MS Excel的查詢

方法1

CopyFromRecordset MyRecordset 

時間:9分鐘

方法2

DoCmd.RunSQL "SELECT * INTO TBL_GET_ITEM_INFO FROM _GET_ITEM_INFO" 
DoCmd.TransferSpreadsheet acExport, 8, "TBL_GET_ITEM_INFO", path, True 

時間:9分鐘

有一個更快的方法?

+0

如果'_GET_ITEM_INFO'是來自Access'視角的鏈接表的名稱,那麼您能使用它嗎? 'DoCmd.TransferSpreadsheet acExport,8,「_GET_ITEM_INFO」,path,True' – HansUp

+0

它只是查詢(_GET_ITEM_INFO)。 它不工作,因爲訪問無法處理連接到其他數據庫的查詢(對於這種情況下,它的Oracle數據庫) - 也許我讀它不好? –

+0

讓我感到驚喜。當您嘗試將'_GET_ITEM_INFO'查詢導出到Excel時,您收到錯誤消息嗎? – HansUp

回答

1

直接從Excel中執行。從Excel中的數據選項卡中,單擊「從訪問」,選擇您的數據庫並進行查詢,並將查詢直接返回到Excel。

當然,我的附錄將完全繞過Access。將_GET_ITEM_INFO查詢分解爲實際的SQL(假設所有的數據本身駐留在Oracle中),並通過MS Query直接在Excel中運行。

這兩種方法都具有單擊刷新數據的額外優勢。