我想自動將Access查詢的結果導出到Excel。我的環境是:如何自動從Access 2007導出到Excel 2003
- Access 2007年
- 數據庫在Access 2003格式
- 出口應該是在Excel 2003中的格式。
該查詢包含一個Memo列,最多可包含512個字符。
到目前爲止,我已經試過如下:
運行在Access查詢,然後複製/粘貼結果表格到Excel中。這工作正常,但需要手動步驟。
運行一些VBA代碼,出口使用DoCmd.TransferSpreadsheet如下查詢:
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "MyQuery", "MyFile.xls"
我的問題是,VBA代碼截斷記錄欄255個字符。
什麼是最簡單的方式編程導出到Excel沒有截斷?
理想情況下,我想將Access中的數據「推」到Excel而不是其他方式,即我沒有試圖在Excel中使用「導入外部數據」。
編輯
在迴應的評論和響應至今:
您可以導出包含備註字段的表?
我還沒有嘗試導出表,因爲能夠這樣做不會幫助我反正。
...那截斷備忘錄,就像它
查詢確實包含一個ORDER BY子句排序的事情之一,所以導致是排序(和待排序)。但它沒有在備忘錄欄上排序。
這可以通過處理備忘錄像左(MyMemo,4096)的東西來避免。
查詢中的記錄欄已經被處理,並使用類似 「左(更換(MemoColumn,」 ... 「」 ... 「),512)」 截斷爲512個字符。所以使用左(...)似乎沒有幫助。使用copyfromrecordset功能
我用Excel自動化與Range.CopyFromRecordSet試圖
嘗試自動化。在這種情況下,較長的備註字段不會被截斷,而是會在最後導出一些垃圾字符。
您可以導出包含備註字段的表嗎?我問,因爲在查詢中截斷備註字段是一個常見問題,如果備忘在表導出中被截斷,那是一個不同的問題。 – Fionnuala 2010-04-15 19:06:47
如果備忘錄限制爲512個字符,請查看它是否可以轉換爲查詢中的字符串列並嘗試導出。在此發佈您的發現。 – shahkalpesh 2010-04-15 19:15:21
只有在查詢中才會發生備忘錄截斷,如果您正在執行截斷備忘錄的任務之一(例如對其進行排序)。這可以通過使用像Left(MyMemo,4096)這樣的東西來處理備忘來避免。 – 2010-04-15 19:49:39