2015-04-06 23 views
0

我有一個約340 MB的Excel文件,其中包含2000多個工作表和幾十個長的VBA程序。該文件變得非常大以至於需要大約10-15分鐘來打開該文件,並且當我保存或調試文件時經常進入「無響應」,「無法使用的資源」。Excel文件太大 - 340 MB - 遷移訪問?

我在網上搜索的人建議遷移到Acesss。但是,我從來沒有使用過Access。所以我不知道

1)如何遷移excel文件來訪問? 2)將VBA程序帶到新的訪問文件中 3)我是否需要修改excel VBA代碼以適應Access? 2)可以訪問處理300-500MB文件?

謝謝

+1

沒有「升級嚮導」,你可以使用。如果你對VBA感到滿意,那麼你應該開始使用Access,但是_FIRST_步驟是想出一個數據模型,如果表格描述了你正在嘗試做的任何事情,那麼這是一大堆。可能你需要2000個表格,每個表格都有一個表格,但我對此表示懷疑。您應該打開MS Access並查看一些示例。 Excel應用程序建模是什麼類型的業務流程?即供應鏈,零售,醫療,製造,金融? – 2015-04-06 11:54:53

回答

0

有趣 我面臨着許多相同的問題,年前通過一些VBA記錄的交易歷史Excel中的POS系統。我搬到了Access,發現(Access)文件越大,文件就會有一點損壞。如果文件退出,我必須建立保護措施以從備份恢復。我最終轉向了Visual FoxPro,因爲我的VBA可能會直接翻譯。事實上,這一天起作用。

1

500MB Excel文件並不意味着500MB的訪問文件。從Excel轉移到Access是一個非常好的想法。但是,您需要先了解基本知識。 Excel與MS Access訪問完全不同,除非Access看起來與數據表格中的Excel類似。

訪問是一個「關係」 - 數據庫+圖形前端軟件,您可以在表單中或通過組件顯示數據。在關係數據庫中,您可以識別實體並定義它們之間的關係。這樣做可以消除整個應用程序中的[數據不一致性]。正確的建模可能會將數據從500MB減少到50MB。

回答您的問題:在你的情況下,所有的遷移

1> How to migrate the excel file to access? 

首先需要一個全新的MS中的應用。首先開始爲您的業務建模。閱讀關於Rational-Databases,閱讀關於MS Access表格,關係,查詢。想想Access是否適合您的業務。在MS Access中創建應用程序,然後您可以回到我們並詢問有關遷移的信息。

OR: 您可以使用當前Excel工作表作爲外部數據源,並將它們作爲鏈接表連接到訪問應用程序中。這是非常不推薦的,因爲你實際上沒有比目前的情況更好地受益。 (查詢除查找數據外)

2> Will the VBA program be carried to the new access file 

你的意思是VBA表單?不,它不會。 Access擁有自己的窗體和控件,它比Excel用戶窗體看起來更好。您必須在Access中完全重新設計該部分。

3> Do i need to modify the excel VBA code to fit Access? 

在大多數情況下,除非它是一個通用的功能。大多數Excel VBA代碼都指的是Access沒有的單元格或工作表!換句話說,它取決於代碼的大小和複雜程度。任何特定的代碼都必須根據MS Access平臺進行調整,但調整非常小而不是主要任務。這又取決於你的代碼複雜度。

4> Can Access handle a 300-500mb file? 

是的,它可以!最新版本可以達到2GB,但我個人不會留在訪問時,我必須處理這樣的數據量。我會尋找分裂/升級數據庫到適當的專用數據庫引擎,如MSSQL或免費的MySQL服務器。

從我這裏得到一些建議: 500MB的Excel表格有潛在危險,您應該儘快尋求替代方案。如果你打算自己動手,請始終「備份」,因爲Access會拋出很難理解的隨機錯誤。找到一位有經驗的IT人員來幫助您,然後再刪除/更新/清除您的數據。祝你好運