Excel文件太大 - 340 MB - 迁移到访问?

时间:2015-04-06 11:32:56

标签: excel vba excel-vba access-vba ms-access-2010

我有一个大约340 MB的excel文件,其中包含2000多个工作表和数十个长VBA程序。该文件变得如此之大,以至于打开文件大约需要10-15分钟,并且经常进入"没有响应","没有足够的可用资源"当我保存或调试文件时。

我在网上搜索的人建议迁移到Acesss。但是,我之前从未使用过Access。所以我想知道

1)如何迁移excel文件进​​行访问? 2)VBA程序是否会被带到新的访问文件中 3)我是否需要修改excel VBA代码以适应Access? 2)Access可以处理300-500mb文件吗?

谢谢

2 个答案:

答案 0 :(得分:1)

500MB Excel文件并不代表500MB访问文件。从Excel迁移到Access是一个非常好的想法。但是,您需要首先了解基础知识。 Excel与MS Access访问完全不同,除非Access在数据表表单中看起来类似于excel。

Access是一个"关系" - 数据库+图形前端软件,您可以在其中以表单或组件形式呈现数据。在关系数据库中,您可以识别实体并定义它们之间的关系。通过这样做,您可以在整个应用程序中消除[数据不一致]。正确的建模可能会将您的数据从500MB减少到仅50MB。

回答您的问题:

1> How to migrate the excel file to access?

首先,您的案例中的迁移需要一个全新的MS应用程序。首先开始为您的业务建模。阅读Rational-Databases,了解MS Access表,关系和查询。想想Access是否适合您的业务平台。在MS Access中创建应用程序,然后您可以回复我们并询问有关迁移的信息。

您可以将当前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?

在大多数情况下 YES ,除非它是通用函数。大多数Excel VBA代码指的是Access没有的单元格或工作表!换句话说,它取决于您的代码有多大和多复杂。任何特定代码都必须调整到MS Access平台,但调整非常小,不是主要任务。同样,这取决于您的代码复杂性。

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

是的,它可以!最新版本可以达到2GB,但是当我必须使用这么多数据时,我个人不会保持访问权限。我希望将数据库拆分/升级到适当的专用数据库引擎,如MSSQL或免费的MySQL服务器。

有些人建议: 500 MB的Excel表格有潜在的危险你应该尽快寻求替代方案。如果您打算自己动摇,请始终" backup" 因为Access会抛出很难理解的随机错误。在删除/更新/删除数据之前,找一位经验丰富的IT人员来帮助您。祝你好运

答案 1 :(得分:0)

有趣 几年前我在POS系统上遇到了很多相同的问题,该系统通过一些VBA记录了excel中的交易历史。我移动到Access,发现(Access)文件越大,就会变得有点腐败。如果文件退出我,我必须建立保护措施以从备份恢复。我最终转移到Visual FoxPro,因为我的VBA可以直接翻译。事实上,到今天工作。