2012-09-26 47 views
2

我一直在搜尋有關如何在ACCDB中添加和查詢Excel VBA中的數據的信息。我遇到了很多答案:來自同事的OpenDatabase(),數據庫連接以及使用Access.Application對象。我無法弄清楚的是,使用Access對象而不是使用字符串等來創建與數據庫的連接會有好處嗎?我沒有讀過使用Access應用程序對象,我不需要在運行VBA的計算機上安裝Access引擎,並且我選擇這樣做。另外,它看起來比使用連接字符串和走這條路線要簡單得多。我已經實現了訪問對象,它的工作就像一個魅力。所以我的問題是,做訪問對象的方式與做另一種方式有什麼區別?謝謝大家!使用Access.Application對象與數據庫連接之間的區別

+2

我會使用DAO而不是應用程序對象。 MS Access的DAO速度要快得多。一個應用程序對象只是耗盡內存而沒有任何理由。 DAO幾乎與應用程序對象一樣簡單。 – Fionnuala

+0

你有你的想法一點點錯誤的方式。如果您使用連接字符串或DAO,則不需要完整版本的MS Access,如果您使用應用程序對象,則您正在運行完整版本。當打開應用程序時將代碼設置爲運行,以及僅在安裝MS Access時運行時,它可能會導致問題。 – Fionnuala

+0

因此,DAO比應用程序對象更快,更簡單,使用的內存更少,並且不需要應用程序。一個對象可以使用函數。這是我的任務:我將CSV(或清理過的XLSX)文件導入到ACCDB中,將單獨的數據導入到不同的表中,查詢數據並導出另一個與之一起使用的XLSX。這聽起來更好嗎?數據庫現在並不是很大,但它每週會增加大約10k條記錄。 – frodoid

回答

0

數據庫中的10k增量增加或CSV輸入增加10K?

如果是前者,那麼存儲在數據庫中是一個好主意,我會使用DAO路由。您會注意到,啓動Access應用程序的人並不多,主要是因爲您沒有真正使用Ms Access功能(它不僅僅是數據存儲)。

作爲替代方案,跳過Excel並將您的宏放入Access中,因爲您擁有該應用程序。 Access中有許多好東西,您可以利用。

但是,如果您的CSV始終處於滿量狀態,您可能只想在Excel/VBA中自行處理數據。我假設「其他」表是參考表。

相關問題