2009-12-04 36 views
16

我有兩個表格,我希望能夠導出到excel通過VBA將MS Access表導出到同一目錄下的Excel電子表格中

我可以通過打開表格然後執行文件 - >導出...然後選擇格式並輸入文件名來完成。

但是,這樣用戶實際上必須輸入名稱,這樣纔有可能誤導文件或將其保存爲錯誤的格式或錯誤的位置。此外,這兩個表必須導出到兩個單獨的工作簿。

我希望能夠做的是使該自動導出一個表,一個工作表,另一個到另一個工作表窗體上的一個按鈕,無論是在相同的Excel工作簿

如果將它們放在同一個工作簿中是不可能的,那很好。我只是希望它們能夠自動導出到保存我的訪問數據庫的同一目錄中。

如果您知道如何操作,那麼添加的perk可能是自定義名稱以包含日期。這樣該目錄也會有歷史出口。有什麼建議?

回答

32

可以使用VBA將Excel數據庫表導出爲Excel工作簿中的工作表。

要獲取Access數據庫的路徑,請使用CurrentProject.Path屬性。

要命名帶有當前日期的Excel工作簿文件,請使用Format(Date, "yyyyMMdd")方法。

最後,要將表格導出爲工作表,請使用DoCmd.TransferSpreadsheet方法。

實施例:

Dim outputFileName As String 
outputFileName = CurrentProject.Path & "\Export_" & Format(Date, "yyyyMMdd") & ".xls" 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table1", outputFileName , True 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Table2", outputFileName , True 

這將輸出兩者Table 1和表2到同一工作簿。

HTH

+0

這很好,但我如何強制它導出到CurrentProject.Path? – Matt 2009-12-04 22:51:36

+3

outputFileName = CurrentProject.Path&「\ Export_」&Format(Date,「YYYYDDmm」)&「.xls」 – Fionnuala 2009-12-05 01:00:39

+1

在提供的代碼中,您強制它將文件保存到當前路徑, value到outputFileName變量。也就是說,將CurrentProject.Path粘貼在=和「之間,並在報價後放置一個\(CurrentProject.Path忽略結尾斜槓)。 – 2009-12-05 01:17:07

-4

對於通過搜索引擎找到的人,您不需要VBA。你可以:

1.) select the query or table with your mouse 
2.) click export data from the ribbon 
3.) click excel from the export subgroup 
4.) follow the wizard to select the output file and location. 
+0

這不是有效的解決方案如果您將此作爲最終用戶應用程序/報告系統提供 – MattE 2017-11-08 20:59:03

相關問題